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.