WordPressで、インデックスとアーカイヴ&検索結果で条件分岐する
WorePressのブログで、インデックスはタイトルや本文全部表示させて、アーカイヴ&検索結果は、タイトルと概要文だけにして表示件数も10件にする条件分岐。
<?php if (is_home() || is_page()) : ?>インデックスページ / 個別ページの表示内容
<?php elseif (is_archive() || is_search()) : ?>
<?php query_posts($query_string .'&posts_per_page=10'); ?>アーカイヴ&検索結果ページの表示内容
<?php endif; ?>
WordPressは、テンプレートで、archive.phpを作ると、勝手に、archive.phpのテンプレートで表示してくれるみたいなんですが、検索結果はindex.phpの表示の仕方で表示されてしまうので、そういうときは、archive.phpはやめて、index.phpに上のような条件分岐で振り分けれるといけます。
さらに
<?php query_posts($query_string .'&posts_per_page=10&order=asc'); ?>
と言う感じで、「&order=asc」をつけると新しい順から、古い順になります。
僕も、上記リンクのようにページ送りで「ページが見つかりません」的な問題が起こったのですが、そのときは、その直前のif文で「in_category()」だったのを「is_category()」にしたら直りました。