Получение изображения вложения в WordPress: функция wp_get_attachment_image()

WP_GET_ATTACHMENT_IMAGE() ─ Получение изображения вложения в WordPress

Функция wp_get_attachment_image() позволяет получить HTML-элемент <img>, представляющий изображение, которое является вложением в вашем WordPress-сайте. Это полезно, если вы хотите отображать изображения, загруженные в медиа-библиотеку.

Зачем регистрировать размеры изображений

Хотя вы можете явно указывать размеры в виде массива, рекомендуется регистрировать размеры с помощью функции add_image_size(). Это позволяет сгенерировать обрезанную версию изображения, что более эффективно. В противном случае браузер будет искать ближайшее подходящее изображение и уменьшать его размер, что менее оптимально.

Используемые функции

  • wp_get_attachment_image_src()
  • wp_calculate_image_srcset()
  • wp_calculate_image_sizes()

Используется в

  • get_the_post_thumbnail()
  • get_custom_logo()

Хуки функции

  • wp_get_attachment_image_context
  • wp_img_tag_add_auto_sizes
  • wp_get_attachment_image_attributes
  • wp_get_attachment_image

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

Возвращает строку — HTML-элемент <img> или пустую строку в случае ошибки.

Использование функции

Чтобы использовать wp_get_attachment_image(), вам нужно передать следующие параметры:

wp_get_attachment_image( $attachment_id, $size, $icon, $attr );

Параметры

  • $attachment_id (int) (обязательный): ID вложенного изображения.
  • $size (string|int[]): Размер изображения. Можно указать название зарегистрированного размера изображения или массив значений ширины и высоты в пикселях (в указанном порядке). Значение по умолчанию — 'thumbnail'.
  • $icon (true|false): Указывает, следует ли рассматривать изображение как иконку. Значение по умолчанию — false.
  • $attr (string|array): Атрибуты для HTML-разметки изображения. По умолчанию — пустая строка.

Атрибуты для разметки изображения

  • src (string): URL изображения.
  • class (string): Имя CSS-класса или список классов, разделённых пробелами. По умолчанию: attachment-$size_class size-$size_class.
  • alt (string): Описание изображения для атрибута alt.
  • srcset (string): Значение атрибута srcset.
  • sizes (string): Значение атрибута sizes.
  • loading (string|false): Значение атрибута loading. Если передать значение false, атрибут будет опущен. Значение по умолчанию определяется функцией wp_get_loading_optimization_attributes().
  • decoding (string): Значение атрибута decoding. Возможные значения: 'async' (по умолчанию), 'sync' или 'auto'. Передача false или пустой строки приведёт к удалению атрибута.
  • fetchpriority (string): Значение атрибута fetchpriority, может быть high, low или auto. По умолчанию определяется функцией wp_get_loading_optimization_attributes().

Примеры использования

Пример 1: Вывод изображения готового к использованию

Для отображения изображения среднего размера (тег <img>) вложения с ID 651:

Этот код выведет что-то вроде:

Текст из поля Alt Text

Обратите внимание: текст alt будет заполнен только если он указан для вложения в специальном поле (alt text). Текст из заголовка, описания или подписи изображения не учитывается.

Пример 2: Пример пользовательского размера

Для вывода изображения определенного размера 20x20 пикселей для типов вложений "изображение", и соответствующей иконки для других типов (третий параметр):

$attach_id можно получить с помощью функции get_post_thumbnail_id() или $post->ID, если вы используете цикл изображений.

Пример 3: Указание класса, alt и title для изображения

$params = [ 'class' => 'some-class', 'alt' => 'альтернативный текст', 'title' => 'название изображения' ];

$tag = wp_get_attachment_image( 15108, 'medium', false, $params );

В результате вы получите:

альтернативный текст

Пример 4: Вывод всех изображений, прикреплённых к посту

Для отображения всех изображений и заголовков, прикреплённых к определённой странице, в виде списка, можно использовать следующий код:

    'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => $post->ID ) ); if ( $attachments ) { foreach ( $attachments as $attachment ) { ?>
  • ID, 'full' ); ?>

    post_title ); ?>

Список изменений

  • С версии 2.5.0 — функция была введена.
  • С версии 4.4.0 — добавлены атрибуты $srcset и $sizes.
  • С версии 5.5.0 — добавлен атрибут $loading.
  • С версии 6.1.0 — добавлен атрибут $decoding.

Используйте эту функцию, чтобы упростить работу с изображениями на вашем сайте WordPress и сделать его более оптимизированным для поисковых систем!

Leave a Reply

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