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

You appear to be a bot. Output may be restricted

Description

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

Usage

$array|WP_Error = wp_update_image_subsizes( $attachment_id );

Parameters

$attachment_id
( int ) required – The image attachment post ID.

Returns

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

File name: wordpress/wp-admin/includes/image.php
Lines:

1 to 31 of 31
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;
}
 

 View on GitHub View on Trac