Получение src вложенных изображений и добавление классов
У меня есть записи, каждая из которых содержит 4 прикрепленных изображения. В файле single.php я пытаюсь получить src всех 4 изображений, чтобы иметь возможность добавить разные классы к каждому изображению.
<img class="image_1 no_lazy" src="src первого прикрепленного изображения"/>
<img class="image_2" src="src второго прикрепленного изображения"/>
<img class="image_3" src="src третьего прикрепленного изображения"/>
<img class="image_4" src="src четвертого прикрепленного изображения"/>
Вот что я пробовал, но я получаю массив вместо получения src... Думаю, я очень близок к решению, но не могу понять, что делаю неправильно...
<?php
global $post;
$args = array(
'post_parent' => $post->ID,
'post_type' => 'attachment',
'post_mime_type' => 'image',
'orderby' => 'menu_order',
'order' => 'ASC',
'numberposts' => 4 );
$images = get_posts($args); ?>
<img class="image_1 no_lazy" src="<?php echo wp_get_attachment_image_src( $images[0]->ID, 'full' )[0]; ?>"/>
<img class="image_2" src="<?php echo wp_get_attachment_image_src( $images[1]->ID, 'full' )[0]; ?>"/>
<img class="image_3" src="<?php echo wp_get_attachment_image_src( $images[2]->ID, 'full' )[0]; ?>"/>
<img class="image_4" src="<?php echo wp_get_attachment_image_src( $images[3]->ID, 'full' )[0]; ?>"/>
Может кто-нибудь помочь мне с этим?
Спасибо

Если вам нужно просто добавить дополнительный класс, то следует использовать функцию wp_get_attachment_image
. У неё есть несколько дополнительных параметров, и последний как раз предназначен для указания классов.
Пример использования:
<?php echo wp_get_attachment_image( get_the_ID(), 'thumbnail', "", ["class" => "my-custom-class"] ); ?>
Главное преимущество этого подхода в том, что вы автоматически получаете все атрибуты srcset
без дополнительных усилий.

Функция wp_get_attachment_image_src
возвращает массив из 3 элементов: URL изображения, ширину и высоту. Вам нужно вывести первый элемент результата.
Фактически, вы можете сделать код более лаконичным, используя цикл foreach
:
foreach ( $images as $i => $image ) {
$src = wp_get_attachment_image_src( $image->ID, 'full' );
echo '<img class="image_' . ++$i;
if ( $i === 1 )
echo ' no_lazy';
echo '" src="' . $src[0] . '" />';
}
