问题描述
我有一个画廊附在页面上。在该页面上,我运行以下查询:
$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 指出我正确的方向。
原来我正在使用”status” 而不是”post_status” 。该代码以”status” 的”attachment” 后期类型的 in-context 解释为例。我更新了代码,以引用”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_status
(published
) 的默认值将找不到附件。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。