wakaさん、こんにちは。
404か否かを判断するのは、テンプレートが読み込まれる前となるため、query_postsが実行される前の状態でもWordPressがリクエストされたURLを表示できるようになっていなければなりません。
いただいた情報では、どこにどのようにコードを追加したか不明ですが、原因はそのあたりではないかと思われます。
トピック投稿者
waka
(@waka)
お返事ありがとうございます。
お手数かけますが、教えて頂けないでしょうか?
query_postsが実行される前の状態でもWordPressがリクエストされたURLを表示できるかは、どのようにして確認したら良いでしょうか?
コードはcategory-○.phpを作って以下のように記述しています。
<?php get_header(); ?>
<div class="txt_txt2">
<?php
$pag = get_query_var('paged');
query_posts('cat=26&posts_per_page=5&paged='.$pag); ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php the_title(); ?> : <?php the_time('Y/m/d')?>
<?php the_content(__('続きを読む')); ?>
<?php endwhile; ?>
<?php else : ?>
err...?
<?php endif; ?>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
</div>
<?php get_footer(); ?>
パーマリンク設定をカスタム構造にしているため、ページング後のurlが
http://example.org/category/categoryname/page/2/
となるので.htaccessの設定を疑いましたが、.htaccessは正しく設定されていました。
また、パーマリンク設定をデフォルトに戻しても404です。
試行錯誤していく中で、WordPressのバージョンをWordPress 2.9.2に戻すと、正常に動作しました。
バージョンアップで、何か変わったのでしょうか。
wakaさん、こんにちは。
単純な話、query_postsを実行させなければ、リクエストされたデフォルトの状態で、どうなるかが分かります。
試行錯誤していく中で、WordPressのバージョンをWordPress 2.9.2に戻すと、正常に動作しました。
ただ、上記の現象は、基本的にはあり得ないため、404となっていたのは別に原因があるかもしれません。
原因切り分けのため、2.9.2と3.0で、それぞれquery_postsの有無による表示可否を検証してみてはいかがでしょう。
トピック投稿者
waka
(@waka)
jim912様、munus様、お返事ありがとうございます。
munus様と同じ症状だったようです。記事のように、1ページの最大投稿数を1にしたところ、正常に表示されるようになりました。
アドバイスありがとうございました。