【WordPress】記事をdate_queryを使って日付で範囲指定する【PHP】

  • 投稿 : 2018-03-14
SQLを直接発行したほうが手っ取り早そうなのですが、WP_Queryを使いたいというとこで試行錯誤で記録です。Wordpresの3.7あたりから「date_query」が追加されて、日付の範囲指定ができるようになったようです。

//日付の範囲指定
$std="2012/11/01";
$edd="2013/07/31";

//date_queryを設定
$args = array(
  'date_query' => array(
    array(
      'after'     => $std,
      'before'    => $edd." 23:59:59",
      'inclusive' => true,
    ),
  ),
  'posts_per_page' => -1,
);

$wp_query = new WP_Query($args);

while ($wp_query->have_posts()){
  $wp_query->the_post();
  echo get_permalink();
}

参考:
Class Reference/WP Query « WordPress Codex
関数リファレンス/WP Query - WordPress Codex 日本語版

・2012/11/01から2013/07/31に投稿された記事
・上記に該当するもの全件

こんな感じでちゃんと取得できました。日付だけで省略すると0:00:00になるので、明示的に「" 23:59:59"」を文字列連結しています。

スポンサーリンク