wp_queryとpre_get_postsの設定をきって、ダッシュボードの表示設定から指定したらうまくいきました!
ここの表示投稿数の指定も、wp_queryを書かずにpre_get_postsの指定だけ書いたらうまくいきました。万事OKです。
hissyさん、gatespaceさん、的確なアドバイスをどうもありがとうございました!
目的は、「category.phpとarchive.phpでページ送りをしたときに404を出さない」ことです。
今までの経緯は、
①$pagedにページ番号が入ってこず、空になってしまう。
→pre_get_postsに上記の$pagedの設定を書いたところ、解決。
②$pagedは機能しているのに、3ページ目や4ページ目でなぜか404になってしまう。←イマココ
という感じです。
ご回答ありがとうございます!
早速category.phpの$wp_queryを以下のように書き、
$wp_query = new WP_Query(
array(
'post_type' => 'post',
'category_name' => $cat_info->slug,
'posts_per_page' => 1,
'paged' => $paged
)
);
functions.phpには以下のものを書き足してみました。
function lowerPagination($query) {
$paged = (get_query_var('paged') ? get_query_var('paged') : 1 );
}
add_action('pre_get_posts', 'lowerPagination');
これで、ページ番号は取得出来るようになったのですが、不可解な事に、2ページ目までは表示されるのに、3ページ目以降は404になるという状態になっています。
archive.phpでも同じように書いてみたら、今度は4ページ目以降で404になるという現象が起きています。
これはどういうことなんでしょうか・・・?