BLOGブログ

WordPressで特定期間の記事一覧を表示する方法

とあるWordPress案件で、特定期間の記事一覧を表示する方法を調べたので忘れないようにメモしておきます。

WP_Queryの日付パラメータを使う

WP_Queryに日付指定用のパラメータがあるのでそれを使います。(関数リファレンス/WP Query – WordPress Codexより抜粋)

year年(4桁の整数)
monthnum付(1〜12)
w週の番号(0〜53)
day年(4桁の整数)
date_query複雑な指定が可能

実際のコードは次のような感じになります。(例:2017年10月の記事)

<?php $query = new WP_Query( 'Year=2017&monthnum=10' ); ?>

<?php if($query -> have_posts()) : while($query -> have_posts()) : $query->the_post(); ?>
  //ここにループの中身
<?php endwhile; else: ?>
<?php endif; ?>
<?php wp_reset_postdata(); ?>

date_queryを使って、複雑な指期間を指定する例

例:2017年9月15日〜2017年10月20日の記事を表示する場合

<?php
  $args = array(
    'date_query' => array(
      array(
        'after' => array(
          'year' => 2017,
          'month' => 9,
          'day' => 15,
        ),
        'before' => array(
          'year' => 2017,
          'month' => 10,
          'day' => 20,
        ),
        'inclusive' => true //境界値を含む
      ),
    ),
  );
  $query = new WP_Query( $args );
?>