我在页面上附有图库。在该页面上,我正在运行以下查询:

$events_gallery = new WP_Query( // Start a new query for our videos
array(
    'post_parent' => $post->ID, // Get data from the current post
    'post_type' => 'attachment', // Only bring back attachments
    'post_mime_type' => 'image', // Only bring back attachments that are images
    'posts_per_page' => '3', // Show us the first three results
    'status' => 'inherit', // Inherit the status of the parent post 
    'orderby' => 'rand', // Order the attachments randomly  
    )
);


我已经尝试了很多方法,由于某种原因,我无法获得附件返回。我在这里缺少明显的东西吗?

更新*

感谢Wok将我指向正确的方向。 “状态”而不是“ post_status”。食典在“附件”帖子类型的上下文说明中以“状态”为例。我更新了法典以引用“ post_status”。正确的代码如下:

$events_gallery = new WP_Query( // Start a new query for our videos
array(
    'post_parent' => $post->ID, // Get data from the current post
    'post_type' => 'attachment', // Only bring back attachments
    'post_mime_type' => 'image', // Only bring back attachments that are images
    'posts_per_page' => '3', // Show us the first three results
    'post_status' => 'inherit', // Attachments default to "inherit", rather than published. Use "inherit" or "any".
    'orderby' => 'rand', // Order the attachments randomly  
    )
);  


评论

我想知道post_status设置为'null'与'inherit'有什么区别

您刚刚用'post_status'=>'inherit'救了我很多痛苦!

#1 楼

这些是我使用的查询参数...当我遍历结果时为我工作

array(
                'post_parent' => $post->ID,
                'post_status' => 'inherit',
                'post_type'=> 'attachment',
                'post_mime_type' => 'image/jpeg,image/gif,image/jpg,image/png'                  
            );


#2 楼

$args中添加,这一点很重要。 'post_status' => null的默认值post_status将找不到附件。

评论


请尽力解释答案,而不是仅仅发布一两行代码。

– s_ha_dum
2013年9月19日下午6:27

是的,这怎么运作的?在添加此附件之前,我无法将其附件显示在存档页面中。

–克莱尔
15年4月26日在8:56

#3 楼

查看它生成的查询,它的确似乎是种错误。当附件的数据库中的输入字面意思是“继承”时,“状态” =>“继承”被解释为父级的状态。

另一种方法是使用get_children代替WP_Query。 br />

#4 楼

我已经能够使用此代码显示帖子附件的所有图像。将图像链接到

<?php
$args = array( 'post_type' => 'attachment', 'orderby' => 'menu_order', 'order' => 'ASC', 'post_mime_type' => 'image' ,'post_status' => null, 'post_parent' => $post->ID );
$attachments = get_posts($args);
    if ($attachments) {
    foreach ( $attachments as $attachment ) { ?>
      <img src="<?php echo wp_get_attachment_url( $attachment->ID , false ); ?>" />
<?php   }
    } ?>


希望这是您要尝试执行的操作。

评论


分页与此有关吗?您可以显示其余的输出代码吗?我正在重新编码主题库,以实际对页面上的附件进行分页。谢谢!

–user4805
2011年4月20日在22:31

如果我将4张图片上传到帖子,然后将其添加到single.php中的主要内容条目div中,它将仅吐出4张图片标签。每个的src =将导致原始的大图像尺寸。分页对此不起作用,因为它会散发附加到该帖子的所有图像。

–乍得·冯·林德(Chad Von Lind)
2011年4月20日在22:45