CPA-Мастер
Блог о заработке на партнёрских программах в CPA-сетях

Выводим вложенные картинки в WordPress

Верстал я на днях один блог и мне понадобилось вывести все картинки, которые относятся к посту. Некоторое время я бороздил просторы интернетов и нашёл решение, которое я после некоторых изменений смог использовать в своих целях. А чтобы не забыть это дело, я оставлю всё это здесь — и заодно поделюсь с читателями блога, у которых возникнет аналогичная проблема.

Сначала в файле, отвечающем за вывод отдельного поста, вытягиваем все ('posts_per_page' => -1) вложения ('post_type' => 'attachment') по идентификатору поста ('post_parent' => get_the_ID()).

<?php
    $attachments = get_posts(array(
        'post_type' => 'attachment',
        'posts_per_page' => -1,
        'post_parent' => get_the_ID()
    ));
?>

Если вложения есть, то выводим их в цикле foreach. С помощью функции wp_get_attachment_image_src вытягиваем по идентификатору вложения ($attachment->ID) URL картинки, который скрывается за первым элементом массива ([0]). Во втором параметре функции передаём желаемый размер картинки (доступно: post-thumbnail, thumbnail, medium или large). Под конец вставляем адрес картинки в соответствующий HTML-элемент и выводим с помощью функции echo.

<?php
    if($attachments) :
        foreach($attachments as $attachment) {
            $img_url = wp_get_attachment_image_src($attachment->ID, 'post-thumbnail')[0];
            echo '<img src="'.$img_url.'" class="img-fluid" />';
        }
    endif;
?>

Использовать приведённый код можно в цикле while, в котором выводится пост.

Понравился пост? Поделись в соцсетях и подписывайся на аккаунты в Twitter и Facebook!

Leave a comment

Your email address will not be published.

*