Wordpress wp_get_attachment_image не показывает изображения для каждого сообщения - PullRequest
0 голосов
/ 03 октября 2019

wp_get_attachment_image () получает изображения только для 2 из 5 сообщений.

Я новичок в WordPress, я создаю тему, где на главной странице отображаются только изображения (вложения) из сообщений. Все сообщения одинаковы - заголовок, абзац и галерея. Каждому из них назначена категория. Попытка решить проблему во многих отношениях, но, похоже, ни один не работает. Я сбросил каждый пост, и кажется, что

$postyMarkiQq = new WP_Query( array( 'category_name' => 'marki' ) );
$posty = $postyMarkiQq->posts;

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

<?php
    $postyBrandQ = new WP_Query( array( 'category_name' => 'brand' ) );
    $posty = $postyBrandQ->posts;

    foreach($posty as $post) {
        echo $post->ID;
    ?>

    <div class="category">
        <?php
            echo get_the_title( $post->ID );
            $args = array(
                'post_parent' => $post->ID,
                'post_type' => 'attachment',
                'post_mime_type' => 'image',
                'posts_per_page' => -1,
                'orderby' => 'menu_order',
                'order' => 'ASC',
            );
            $attachments = get_children( $args );
            foreach ( $attachments as $attachment ) {
                echo wp_get_attachment_image($attachment->ID);
            }
            wp_reset_postdata();
        ?>
    </div>

    <?php
    }
    ?>

Я понятия не имею, почему это не сработает. Был бы очень признателен за помощь. Спасибо!

1 Ответ

0 голосов
/ 04 октября 2019

Вам, вероятно, не следует обращаться к родителю по почте. Вложения предоставляются только родителям постов на основе страницы, которую вы просматриваете в данный момент, когда вы загружаете элемент в медиа-библиотеку. Если вы нажмете кнопку «мультимедиа» и загрузите изображения, у изображений не будет родительского поста, даже если позже вы перейдете к посту (или странице) и установите это изображение в качестве избранного.

Итак, я не знаю точного контекста вашего вопроса, но возможно get_post_thumbnail_id ($ post-> ID) будет ответом, который вы ищете. Это вернет идентификатор вложения избранного изображения, затем вы можете использовать wp_get_attachment_image_src () (возможно, передайте идентификатор вложения), который вернет вам массив. Распечатайте массив, там где-то вы найдете URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...