wp_update_image_subsizes( int $attachment_id ): array|WP_Error

In this article

If any of the currently registered image sub-sizes are missing, create them and update the image meta data.

Parameters

$attachment_idintrequired
The image attachment post ID.

Return

array|WP_Error The updated image meta data array or WP_Error object if both the image meta and the attached file are missing.

Source

function wp_update_image_subsizes( $attachment_id ) {	$image_meta = wp_get_attachment_metadata( $attachment_id );	$image_file = wp_get_original_image_path( $attachment_id );	if ( empty( $image_meta ) || ! is_array( $image_meta ) ) {	/* * Previously failed upload? * If there is an uploaded file, make all sub-sizes and generate all of the attachment meta. */	if ( ! empty( $image_file ) ) {	$image_meta = wp_create_image_subsizes( $image_file, $attachment_id );	} else {	return new WP_Error( 'invalid_attachment', __( 'The attached file cannot be found.' ) );	}	} else {	$missing_sizes = wp_get_missing_image_subsizes( $attachment_id );	if ( empty( $missing_sizes ) ) {	return $image_meta;	}	// This also updates the image meta.	$image_meta = _wp_make_subsizes( $missing_sizes, $image_file, $image_meta, $attachment_id );	}	/** This filter is documented in wp-admin/includes/image.php */	$image_meta = apply_filters( 'wp_generate_attachment_metadata', $image_meta, $attachment_id, 'update' );	// Save the updated metadata.	wp_update_attachment_metadata( $attachment_id, $image_meta );	return $image_meta; } 

Hooks

apply_filters( ‘wp_generate_attachment_metadata’, array $metadata, int $attachment_id, string $context )

Filters the generated attachment meta data.

Changelog

VersionDescription
5.3.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.