WP_Image_Editor_GD::multi_resize()publicWP 3.5.0

Create multiple smaller images from a single source.

Attempts to create all sub-sizes and returns the meta data at the end. This may result in the server running out of resources. When it fails there may be few "orphaned" images left over as the meta data is never returned and saved.

As of 5.3.0 the preferred way to do this is with make_subsize(). It creates the new images one at a time and allows for the meta data to be saved after each new image is created.

Method of the class: WP_Image_Editor_GD{}

No Hooks.

Return

Array. An array of resized images' metadata by size.

Usage

$WP_Image_Editor_GD = new WP_Image_Editor_GD();
$WP_Image_Editor_GD->multi_resize( $sizes );
$sizes(array) (required)
An array of image size data arrays.

Either a height or width must be provided. If one of the two is set to null, the resize will maintain aspect ratio according to the source image.

  • ...$0(array)
    Array of height, width values, and whether to crop.

    • width(int)
      Image width. Optional if $height is specified.

    • height(int)
      Image height. Optional if $width is specified.

    • crop(true|false|array)
      Optional. Whether to crop the image.
      Default: false

Changelog

Since 3.5.0 Introduced.

WP_Image_Editor_GD::multi_resize() code WP 6.4.3

public function multi_resize( $sizes ) {
	$metadata = array();

	foreach ( $sizes as $size => $size_data ) {
		$meta = $this->make_subsize( $size_data );

		if ( ! is_wp_error( $meta ) ) {
			$metadata[ $size ] = $meta;
		}
	}

	return $metadata;
}