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'
);