wp_get_attachment_image_sizes

Получает значения размеров указанной картинки-вложения для атрибута sizes.

Используется в связке с функцией: wp_get_attachment_image_srcset()

Об атрибуте sizes

Атрибут sizes — это замена атрибутам width и height. Он устанавливает ширину картинки и условие при котором должна быть выставлена эта ширина. Например:

wp_get_attachment_image_sizes( $attachment_id, $size, $image_meta );
$attachment_id(число) (обязательный)
ID картинки вложения значение атрибута sizes для которого нужно получить..
$size(массив/строка)

Название размера картинки.
Может принимать любой зарегистрированный размер или массив: array(100,150), где 100 – ширина, а 150 высота в пикселях.

Значение передается в функцию wp_get_attachment_image_src() еще описание смотрите там.
По умолчанию: ‘medium’

$image_meta(массив)

Метаданные картинки, в формате который возвращается функцией: wp_get_attachment_metadata().

Или можно получить метаданные вложения так: get_post_meta( $attachment_id, ‘_wp_attachment_metadata’, true );

По умолчанию: null

Примеры

#1 Просто получим размеры картинки для sizes атрибута

echo wp_get_attachment_image_sizes( 10, 'full' );
// выведет:
// (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px

#2 Использование в IMG теге

<?php
function wp_get_attachment_image_sizes( $attachment_id, $size = 'medium', $image_meta = null ) {
	if ( ! $image = wp_get_attachment_image_src( $attachment_id, $size ) ) {
		return false;
	}

	if ( ! is_array( $image_meta ) ) {
		$image_meta = wp_get_attachment_metadata( $attachment_id );
	}

	$image_src = $image[0];
	$size_array = array(
		absint( $image[1] ),
		absint( $image[2] )
	);

	return wp_calculate_image_sizes( $size_array, $image_src, $image_meta, $attachment_id );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *