为什么草稿作为wp_Query的一部分返回?

时间:2013-02-07 作者:montrealist

我有一些代码作为插件,我通过AJAX从网站的第一页调用这些代码。它获取两个下拉值,并在tax\\u查询中使用它们来获取一些帖子。问题:为什么drafts 默认情况下是否在结果中返回?我需要取消注释\'post_status\' => \'publish\' 防止这种情况发生。

用户未登录,文档显示

“默认值为‘publish’,但如果用户登录,则会添加‘private’。如果查询在管理上下文中运行,也会添加受保护的状态。默认情况下,受保护的状态为‘future’、‘draft’和‘pending’。”

这是否意味着草案在某种程度上被认为是“公开的”?这些是常规帖子,这里没有自定义帖子类型的东西。或者是tax\\u查询以某种方式覆盖了默认行为?我很困惑。

以下是查询参数的代码:

  $args = array(
    \'posts_per_page\' => 5,
    //\'post_status\' => \'publish\',
    \'tax_query\' => array(
      \'relation\' => \'AND\',
      array(
        \'taxonomy\' => \'height_category\',
        \'field\' => \'slug\',
        \'terms\' => array( $_POST[\'height\'] )
      ),
      array(
        \'taxonomy\' => \'age_category\',
        \'field\' => \'slug\',
        \'terms\' => array( $_POST[\'age\'] )
      )
    )
  );

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

您提到的报价中解释了该问题:

“默认值为‘publish’,但如果用户登录,则会添加‘private’。And if the query is run in an admin context, 还添加了受保护的状态。默认情况下,受保护的状态为“未来”、“草稿”和“待定”。“”

Ajax调用总是被认为来自管理上下文。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post