A WordPress-centric search engine for devs and theme authors

image_resize ›

image_resize ( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 90 )
Parameters: (7)
  • (string) $file Image file path.
    Required: Yes
  • (int) $max_w Maximum width to resize to.
    Required: Yes
  • (int) $max_h Maximum height to resize to.
    Required: Yes
  • (bool) $crop Optional. Whether to crop image or resize.
    Required: No
    Default: false
  • (string) $suffix Optional. File suffix.
    Required: No
    Default: null
  • (string) $dest_path Optional. New image file path.
    Required: No
    Default: null
  • (int) $jpeg_quality Optional, default is 90. Image quality percentage.
    Required: No
    Default: 90
  • (mixed) WP_Error on failure. String with new destination path.
Defined at:

Scale down an image to fit a particular size and save a new copy of the image.

The PNG transparency will be preserved using the function, as well as the image type. If the file going in is PNG, then the resized image is going to be PNG. The only supported image types are PNG, GIF, and JPEG. Some functionality requires API to exist, so some PHP version may lose out support. This is not the fault of WordPress (where functionality is downgraded, not actual defects), but of your PHP version.


function image_resize( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 90 ) {
	_deprecated_function( __FUNCTION__, '3.5.0', 'wp_get_image_editor()' );

	$editor = wp_get_image_editor( $file );
	if ( is_wp_error( $editor ) )
		return $editor;
	$editor->set_quality( $jpeg_quality );

	$resized = $editor->resize( $max_w, $max_h, $crop );
	if ( is_wp_error( $resized ) )
		return $resized;

	$dest_file = $editor->generate_filename( $suffix, $dest_path );
	$saved = $editor->save( $dest_file );

	if ( is_wp_error( $saved ) )
		return $saved;

	return $dest_file;