WordPress wp_get_attachment_image不会显示每篇文章的图像

时间:2019-10-03 16:44:36

标签: php wordpress

wp_get_attachment_image()仅获得5个帖子中2个的图片。

我是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 :(得分:0)

您可能不应该按父级查询。仅当您将项目上载到媒体库时,才根据当前正在浏览的页面为父母提供附件。如果您单击媒体并上传图像,则即使您以后再去发布(或页面)并将该图像设置为特色图像,这些图像也不会具有发布父级。

所以,我不知道您问题的确切上下文,但是也许get_post_thumbnail_id($ post-> ID)将是您正在寻找的答案。这将返回特色图像的附件ID,然后您可以使用wp_get_attachment_image_src()(可能会传入附件ID),这将返回一个数组。打印数组,在其中找到URL。