функция
since 4.4.0
wp_calculate_image_sizes()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
wp_calculate_image_sizes( string|int[] $size, string|null $image_src = null, array|null $image_meta = null, int $attachment_id ): string|false
Описание
Создаёт значение атрибута 'sizes' для изображения.
Параметры
$size
string|int[]
обязательный
Размер изображения. Принимает имя любого зарегистрированного размера изображения или массив значений ширины и высоты в пикселях (именно в этом порядке).
$image_src
string|null
необязательный
= null
URL файла изображения.
$image_meta
array|null
необязательный
= null
Метаданные изображения в том виде, в каком их возвращает 'wp_get_attachment_metadata() '.
$attachment_id
int
необязательный
ID вложения-изображения. При использовании имени размера изображения в качестве аргумента для $size требуется либо $image_meta, либо $attachment_id. Значение по умолчанию — 0.
Возвращаемое значение
string|false
'sizes'
Исходный код
wp-includes/media.php:1595
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 );
}
История изменений
| Версия | Описание |
|---|---|
| 4.4.0 | Introduced. |

