为什么草稿列表不会显示给非管理员?

时间:2014-02-04 作者:Radley Sustaire

我有一篇草稿,作者设置为5。用户#5正在尝试使用带有以下参数的WP\\U查询在前端查看该草稿:

array {
  ["name"]=> "example-52f00a8ba19f4"
  ["post_status"]=> array {
    [0]=> "draft"
    [1]=> "private"
  }
  ["post_type"]=> "customlisting"
  ["posts_per_page"]=> 1
  ["author"]=> 5
}
试图查看此内容的用户是用户#5。他们正试图查看自己的帖子草稿,以便发布。。。(在前端)

中可用的SQL查询$wp_query->request does in fact return the listing (screenshot from HeidiSQL). 但它没有出现在$wp_query->posts, 而且WP\\u Query似乎在实际的SQL查询之后删除它。

如何防止WP\\U Query删除此内容?我不知道去哪里找。我也不知道为什么会这样:/

Update: 似乎只有按帖子名称搜索时,查询才会失败。它通过post ID(而不是post\\uu in)工作。

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

在中确实有处理WP_Query 这可能prevent posts from displaying 如果他们不仅仅是公众。

由于存在多种情况,因此很难猜测为什么它在您的特定情况下会失败。这可能与权限的设置方式或某些边缘情况有关(查询非公开帖子是完全的)。

结束

相关推荐

Trim posts from WP-Query?

我希望在我的首页上显示一些由以下标准确定的帖子:显示当月的所有帖子(实际上是从最近帖子对应的月份开始);但是如果这个数字少于(比如)8,那么就显示最近的8篇帖子。假设我知道每个月都不会有超过(比如)20篇文章,我会将posts\\u per\\u page设置为20,通常抓取最近的20篇文章,然后在php中进行适当的修剪(切片)。(在SQL中这样做似乎太复杂了)顺便说一句:起初我以为add_filter( \'posts_results\', ... ) 这很合适,但很难区分查询是与主循环相对应,还是与其