image_downsize()
Gets an array of image data for the specified size: URL, width and height of the attachment image.
This function is the core for wp_get_attachment_image_src(). Only it cannot be passed the third parameter $icon. It retrieves the URL and dimensions of the attachment that is an image.
Retrieves the URL of the original image or its reduced copy. The function does not create a reduced copy of the image, but only gets the URL of an already reduced image that best fits the specified dimensions. If arbitrary dimensions are specified in an array, it selects an appropriate image and proportional dimensions. See examples.
Hooks from the function
Returns
Array|false. Array with image data or false if it failed to get the image.
The array is returned in the following format:
array( [0] => url // URL of the image [1] => width // width of the image [2] => height // height of the image [3] => true // true if the URL of a reduced copy was obtained, not the original )
Usage
image_downsize( $id, $size );
- $id(int) (required)
- ID of the attachment image whose data is to be retrieved.
- $size(string)
The size of the image whose data to retrieve. The URL will differ. In this parameter you can specify sizes registered in WP, by default these are:
thumbnail— thumbnail (usually 150x150) cropped.medium— medium size, not cropped. (Default).large— large size, not cropped.full— Original image. If a «scaled» image is created, that will be returned.
array( 32, 32 )— you can also specify the size as an array of two values (width, height). In this case the most appropriate size from existing ones will be selected, then the image will be shrunk/stretched to the specified dimensions.Since version 2.5. this parameter does not affect the size of media icons (icons for files), they are always shown at the original size.
Default: 'medium'
Examples
#1 Get image URL of medium size
Let's write a similar to wp_get_attachment_thumb_url() function that will get the medium size of the attachment image, but not thumbnail size.
$id is the ID of the attachment.
function wp_get_attachment_medium_url( $id ){
$medium_array = image_downsize( $id, 'medium' );
$medium_path = $medium_array[0];
return $medium_path;
} #2 How the function works
Suppose we have an attachment with ID 55 - it's a picture: http://example.com/wp-content/uploads/2014/02/wix.png with a size of 500x258 pixels. In the settings of media files we have the following sizes for images: 80x80, 300x300, 1000x1000. So, when loading this image, WP created two smaller copies: 80x80, 300x300.
Now see what the function will get when you specify different sizes:
$img = image_downsize( 55, 'full' ); /* Array ( [0] => http://example.com/wp-content/uploads/2014/02/wix.png [1] => 500 [2] => 258 [3] => ) */ $img = image_downsize( 55, 'thumbnail' ); /* Array ( [0] => http://example.com/wp-content/uploads/2014/02/wix-80x80.png [1] => 80 [2] => 80 [3] => 1 ) */ $img = image_downsize( 55 ); /* Array ( [0] => http://example.com/wp-content/uploads/2014/02/wix-300x258.png [1] => 300 [2] => 258 [3] => 1 ) */ $img = image_downsize( 55, array(100, 90) ); /* Array ( [0] => http://example.com/wp-content/uploads/2014/02/wix.png [1] => 100 [2] => 51 [3] => ) */ $img = image_downsize( 55, array(100, 80) ); /* Array ( [0] => http://example.com/wp-content/uploads/2014/02/wix-80x80.png [1] => 80 [2] => 80 [3] => 1 ) */
Changelog
| Since 2.5.0 | Introduced. |