WordPressの記事一覧で表示する数を変更したい、というお話

WordPressの記事一覧で表示する数を変更したい、というお話

WordPressではデフォルトで1ページあたり10件と設定されているわけなんですが、
色々サイトを作っているとこの一覧ページに表示する記事の数を変更したくなる場合があります。

じつは、Wordpressではこの変の処理がややこしく、なんとなく作っていると結構ハマってしまう場合が多いので、メモとして残しておこうと思います。

$query = new WP_Query(
  array(
    'post_type' => 'post',
    'posts_per_page' => 5,
  )
);
$query->post_count = 5;
if ( $query->have_posts() ):
  while ( $query->have_posts() ) : $query-> the_post();
    // 色々処理
  endwhile;
  wp_reset_postdata();
endif;

ここで、
WP_Query の posts_per_page と、 $query->post_count の数字は同じにしておく必要があるみたい。
というのも、表示する投稿数が表示したい投稿数に満たないとエラーがおこってしまうそうです。
なので、

if($query->post_count > $query->found_posts){
$query->post_count = 5; //posts_per_pageと合わせておく
}

というコードも追記しておきましょう。

というわけで、最終的なコードはこんな感じ。

$query = new WP_Query(
  array(
    'post_type' => 'post',
    'posts_per_page' => 5,
  )
);
if($query->post_count > $query->found_posts){
  $query->post_count = 5;
}
if ( $query->have_posts() ):
  while ( $query->have_posts() ) : $query-> the_post();
    // 色々処理
  endwhile;
  wp_reset_postdata();
endif;