wordpressの特定のページだけ記事一覧表示件数を変える

wordpressでは記事一覧で表示される記事件数を変更することが出来ますね。しかし、フロントページは5件表示で、カテゴリページは20件欲しいのおおお!!

という時があると思います。

というわけでそういう時どうするのか、ですが、ページ毎に記事一覧の取得条件を変えていく必要があります。

まず普通のページではこんな感じで記事を取得しているのがほとんどですよね。

<?php if (have_posts()) : ?>
ループ前記述
<?php while (have_posts()) : the_post(); ?>
ループ中:記事一覧を出力
<?php endwhile; ?>
ループ後記述
<?php endif; ?>

ここに手を加える事で記事一覧の出力方法を変更していく事ができますよ。

$query_array = array(
'order' => 'DESC',
'posts_per_page' => 5,
'paged' => $paged,
);
$query_req = new WP_Query($query_array);
<?php if ($query_req->have_posts()) : ?>
ループ前記述
<?php while ($query_req->have_posts()) : $query_req->the_post(); ?>
ループ中:記事一覧を出力
<?php endwhile; ?>
ループ後記述
<?php endif; ?>

「$query_array」が出力条件の指定文章です。「posts_per_page」が表示する件数。今回は5件としています。「paged」が現在のページ。これが無いと二ページ目に行っても最初の五件がまた表示されちゃいます。

あとは「$query_req」に出力結果が収納されていますので、そこからポスト情報を抜き出していくだけです。簡単!