web-dev-qa-db-ja.com

WP_Queryを使用して過去2日間に公開された投稿を取得する方法

私はすべての投稿をループして、ソーシャルネットワーク上で最も共有されている投稿を取得しようとしています。 date_queryWP_queryパラメーターを使用して、過去2日間、過去5日間、過去7日間、および過去9日間の投稿を取得します。 date_queryWP_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();
?>
2
Harman Preet

これがdate_queryパートの2つのアイデアです。

1)2 days agoの後:

現在の時刻、2日前 の後に投稿された記事が必要な場合

'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の後:

真夜中、2日前 の後に公開された投稿が必要な場合

'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の場合.

もっと簡単に他の日の期間にこれを修正することができます。

7
birgire