问题描述

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

$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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。