当前位置: 首页>>建站开发>>正文


破碎? WP_Query和“attachment”作为帖子类型

webfans 建站开发 , , 去评论

问题描述

我有一个附加到页面的画廊。在该页面上,我正在运行以下查询:

$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”。 Codex在其“附件”帖子类型的in-context解释中使用了“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 result
    'post_status' => 'inherit', // Attachments default to "inherit", rather than published. Use "inherit" or "all". 
    'orderby' => 'rand', // Order the attachments randomly  
    )
);  

最佳解决办法

这些是我使用的查询参数…当我遍历结果时,对我有用

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

次佳解决办法

加入$args,很重要。

'post_status' => 'any'

不要:'post_status' => null

这很重要,因为附件没有post_status,因此post_statuspublished的默认值将找不到附件。

参考资料

本文由朵颐IT整理自网络, 文章地址: https://duoyit.com/article/2725.html,转载请务必附带本地址声明。