web関連

【wordpress】月別アーカイブ用意したらすべての記事が出ちゃった時の備忘録

【wordpress】月別アーカイブ用意したらすべての記事が出ちゃった時の備忘録

アーカイブ一覧ページ内に年月で記事を絞れるようにリンクを用意したんだけどリンク先で記事が全部出ちゃったので調べた時の備忘録

サブループの「WP_Query()」使うときは年月のプロパティ指定する

archive.phpで使用

<?php
$paged = (int) get_query_var('paged');
$year = get_query_var('year');
$monthnum = get_query_var('monthnum');
  $args = array(
      'year' => $year,
      'monthnum' => $monthnum,
      'paged' => $paged,
      'posts_per_page' => 10,
      'post_type' => 'post',
  );
$the_query = new WP_Query($args);
if ( $the_query->have_posts() ) :
  while ( $the_query->have_posts() ) : $the_query->the_post();
?>
//表示したい要素が入る
<?php endwhile; ?>
<?php else: ?>
<?php endif; ?>
<?php wp_reset_postdata(); ?>

「year(年)」と「monthnum(月)」の値をもっていればプロパティ指定して絞ってます

今まで月別アーカイブ作るときは「if (have_posts()) : while(~」のメインループ使っていたんだけどサブループの「WP_Query()」を使うときは年月用のプロパティ指定しないと全部でちゃうんすね

なんで年月別に絞れないのか悩んだけど、「WP_Query()」のプロパティで絞らないとダメなのわかってなかった、反省…