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;

