WordPressでページ一覧の2ページ目以降が1ページと同じ内容になってしまう原因と対処法

カテゴリページや検索結果のページで、2ページ目(/page/2)に移動しても1ページ目と同じ記事が表示されてしまってページ送りがうまく動作しない場合は、抽出条件にページ送りのパラメータが正しくセットされていない可能性があります。

例えば下記のようにパラメーターをセットしていた場合、2ページ以降も同じ内容が表示されてしまいます。

$query = new WP_Query( array(
 'post_type' => 'post',
 'post_status' => 'publish',
));

上記だけではWP_Queryやget_postsは現在のページが判らないため、下記のように現在のページ番号をパラメータ(’paged’)に加える必要があります。

$paged = get_query_var( 'paged' );
$query = new WP_Query( array(
 'post_type' => 'post',
 'post_status' => 'publish',
 'paged' => $paged 'こちらを記述してください',
));

現在のページ番号は、get_query_var( ‘paged’ )で取得します。
静的フロントページから取得する場合は、get_query_var( ‘page’ )を使用します。

ちなみに、get_query_var()で1ページ目の値を取得すると1ではなく0になります。(2ページ目は2)
WP_Queryなどではそのまま0で使っても問題ありませんが、1ページ目を1としたい場合は、下記のようにすると良いかもしれません。

WordPressプラグイン「WP-PageNavi」を設置したい場所に以下のコードを挿入します。

<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>

参考サイト
https://nyaman.net/page-not-change