如何使用WP_QUERY获取最近两天发布的帖子?

时间:2014-09-11 作者:Harman Preet

我正在尝试循环浏览所有帖子,以获得社交网络上最热门的共享帖子。我想使用date_query 中的参数WP_query 获取前两天、前5天、前7天和前9天的帖子。如何通过使用date_query 在里面WP_Query 我的WP_query

<?php
 $args = array(
  \'post_type\' => \'post\',
  \'order\'=>\'DESC\',
  \'posts_per_page\' => 1,
  \'date_query\' => array(
                     array(
        \'after\'     => \'10 days ago\',
        \'inclusive\' => true,
       ),
     ),
  \'orderby\'=>\'meta_value\',
  \'meta_key\'=>\'esml_socialcount_TOTAL\'
  );
 $the_query = new WP_Query($args);
 if($the_query->have_posts()) { 
 while ($the_query->have_posts()){$the_query->the_post();
?>

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

以下是两个建议date_query 零件:

1) 之后2 days ago:

如果您需要在之后发布帖子current time, 2 days ago:

\'date_query\' => array(
     array(
         \'after\'     => \'2 days ago\',  // or \'-2 days\'
         \'inclusive\' => true,
     ),
 ),
那么相应的SQL部分是:

 post_date >= \'2014-09-09 17:57:15\'
如果当前日期时间为2014-09-11 17:57:15.

2) 之后midnight 2 days ago :

如果您需要在之后发布帖子midnight, 2 days ago:

\'date_query\' => array(
     array(
         \'after\'     => \'midnight 2 days ago\',
         \'inclusive\' => true,
     ),
 ),
那么相应的SQL部分是:

 post_date >= \'2014-09-09 00:00:00\'
如果当前日期时间为2014-09-11 17:57:15.

您可以轻松地将其修改为其他日时段。

结束

相关推荐

在哪里挂接以绕过实例化WP_Query?

我在插件创建方面有点停滞不前,因为我没有找到一种优雅地连接东西的方法。我的问题的简化版本如下:完全启动Wordpress(核心和插件)检测某些URL模式,如mydomain。com/video/video\\u id在本例中,在我的插件中调用的函数是404(video\\u id如果为true,那么我想直接跳转到加载常用的404模板如果为false,则我将调用模板文件template\\u目录/my\\u视频。php?v=视频\\u id(我不需要\\u循环)我已经找到了重写挂钩,但我不知道如何让它们工作