帮助确定未来的POST解决方法

时间:2015-09-07 作者:Ann Foley

我发布这篇文章,希望了解一些有关过滤器和$wp\\U查询的信息。

我研究了如何

当未登录时,显示一篇带有未来发布日期的帖子,并发现您可以使用我发现的此功能执行此操作here:

add_filter(\'the_posts\', \'show_all_future_posts\');

function show_all_future_posts($posts){
        global $wp_query, $wpdb;
       if(is_single() && $wp_query->post_count == 0)
   {
      $posts = $wpdb->get_results($wp_query->request);
   }
return $posts;
}
我的问题:

为什么$wp\\u query->post\\u count==0需要成为条件的一部分?在我看来,在单个页面上,$wp\\u查询将返回1的post计数。

当查询返回具有未来发布状态的帖子时,是否为$wp\\u query->post\\u count 0?

这显然不是紧急情况,但如果有人能解释为什么过滤器最终会显示具有未来发布状态的帖子,我将不胜感激!

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

我认为答案是:

当您在单页/帖子/cpt视图中时(您正在使用is_single() ) 你应该一直这样$wp_query->post_count 等于1,但如果它是未来的帖子/页面/cpt,则结果将为0(因为应用了函数/操作来检查它是否是未来的帖子)

$posts = $wpdb->get_results($wp_query->request); 这就是你告诉我不要应用这些功能/操作的方式,检查将来的帖子/页面/cpt