お客様のサイトを制作していて、アーカイブページテンプレートをquery_postsを使って投稿件数を指定するカスタマイズをしていて、プラグイン「WP-Pagevavi」を使ったページ送りをテストしていましたが
<?php if (have_posts()) : query_posts( $query_string . ‘&posts_per_page=XX&paged=’.$paged); ?>
<?php while ( have_posts() ) : the_post() ?>
Loopさせる内容
<?php endwhile; ?>
<?php endif; wp_reset_query(); ?>
どうしても2ページ以降は404ページを表示してしまう。
どうしてかなあ?と調べてみると、
posts_per_pageの件数(XX)が、管理画面の「設定 > 表示設定」で1ページの表示を設定している投稿数より多くないとWP-Pagevaviが正常に機能しないようです。 メインクエリーでは2ページ目が存在しないので、アーカイブテンプレートが読み込まれず、query_postsも実行されないので404となってしまうのです。(大曲さんにおしえてもらいました!)
「設定 > 表示設定」をに触っていなければ、デフォルトは10件。
10に満たない少ないテスト投稿を使って、表示テストなんかやってるとハマってしまいます。
追記: pre_get_posts を用いて、メインクエリーそのものを変えてしまう方がいいんだそうです。(大曲さんにおしえてもらいました!)