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_contextwp_img_tag_add_auto_sizeswp_get_attachment_image_attributeswp_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 будет заполнен только если он указан для вложения в специальном поле (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 и сделать его более оптимизированным для поисковых систем!