wp_calculate_image_sizes() WordPress Function
The wp_calculate_image_sizes() function is used to calculate the image sizes for an image. This function will return an array of image sizes, which can be used to determine the size of an image.
wp_calculate_image_sizes( string|int[] $size, string $image_src = null, array $image_meta = null, int $attachment_id ) #
Creates a ‘sizes’ attribute value for an image.
Parameters
- $size
(string|int[])(Required)Image size. Accepts any registered image size name, or an array of width and height values in pixels (in that order).
- $image_src
(string)(Optional) The URL to the image file.
Default value: null
- $image_meta
(array)(Optional) The image meta data as returned by 'wp_get_attachment_metadata()'.
Default value: null
- $attachment_id
(int)(Optional) Image attachment ID. Either
$image_meta
or$attachment_id
is needed when using the image size name as argument for$size
. Default 0.
Return
(string|false) A valid source size value for use in a 'sizes' attribute or false.
Source
File: wp-includes/media.php
function wp_calculate_image_sizes( $size, $image_src = null, $image_meta = null, $attachment_id = 0 ) { $width = 0; if ( is_array( $size ) ) { $width = absint( $size[0] ); } elseif ( is_string( $size ) ) { if ( ! $image_meta && $attachment_id ) { $image_meta = wp_get_attachment_metadata( $attachment_id ); } if ( is_array( $image_meta ) ) { $size_array = _wp_get_image_size_from_meta( $size, $image_meta ); if ( $size_array ) { $width = absint( $size_array[0] ); } } } if ( ! $width ) { return false; } // Setup the default 'sizes' attribute. $sizes = sprintf( '(max-width: %1$dpx) 100vw, %1$dpx', $width ); /** * Filters the output of 'wp_calculate_image_sizes()'. * * @since 4.4.0 * * @param string $sizes A source size value for use in a 'sizes' attribute. * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). * @param string|null $image_src The URL to the image file or null. * @param array|null $image_meta The image meta data as returned by wp_get_attachment_metadata() or null. * @param int $attachment_id Image attachment ID of the original image or 0. */ return apply_filters( 'wp_calculate_image_sizes', $sizes, $size, $image_src, $image_meta, $attachment_id ); }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
4.4.0 | Introduced. |