WP_GET_ATTACHMENT_IMAGE_SIZES() в WordPress: Как использовать и что возвращает

WP_GET_ATTACHMENT_IMAGE_SIZES() │ WP 4.4.0

Функция wp_get_attachment_image_sizes() используется для получения значений атрибута 'sizes' для изображений, загруженных в WordPress.

Использует

  • wp_get_attachment_image_src()
  • wp_calculate_image_sizes()

Производительность

  • 1 раз: 0.000911 секунд (медленно)
  • 50,000 раз: 30 секунд (медленно)

Хуки

Нет хуков.

Возвращаемое значение

  • String|false: Возвращает корректное значение для атрибута 'sizes' или false, если значение невозможно получить.

Использование

wp_get_attachment_image_sizes( $attachment_id, $size, $image_meta );

Параметры

  • $attachment_id (int) (обязательный): ID изображения.
  • $size (string|int[]): Размер изображения. Принимает любое зарегистрированное имя размера изображения или массив значений ширины и высоты в пикселях (в указанном порядке). По умолчанию используется 'medium'.
  • $image_meta (array|null): Метаданные изображения, возвращаемые функцией wp_get_attachment_metadata(). По умолчанию null.

Примеры

Пример 1: Получение размеров изображения для атрибута

Этот код выводит размеры изображения.

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>

Вот как можно использовать эту функцию в теге изображения.

На выходе получится что-то вроде:

Заметки

  • Посмотрите функцию: wp_calculate_image_sizes()

Изменения

  • С версии 4.4.0 функция была введена.

Код функции

Вот код, который реализует wp_get_attachment_image_sizes:


function wp_get_attachment_image_sizes( $attachment_id, $size = 'medium', $image_meta = null ) {
$image = wp_get_attachment_image_src( $attachment_id, $size );

if ( ! $image ) {
    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 );

}

Связанные функции

  • wp_attachment_is_image()
  • wp_get_attachment_caption()
  • wp_get_attachment_image()
  • wp_get_attachment_image_src()
  • wp_get_attachment_image_srcset()
  • wp_get_attachment_image_url()
  • wp_get_attachment_thumb_url()
  • wp_get_attachment_url()

Изображения

  • file_is_displayable_image()
  • image_downsize()
  • next_image_link()
  • previous_image_link()
  • wp_get_image_mime()

Эта статья поможет вам лучше понять, как использовать функцию wp_get_attachment_image_sizes() для работы с изображениями в WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *