【WP】ページ送りで404エラーを解決

【WP】ページ送りで404エラーを解決

2018年2月18日

まほろば@mahoroba148です。

オリジナルテーマで作成している当ホームページ、手直ししつつ公開しております。

ブログからホームページへリニューアル
[この記事は2018年2月18日に更新しました] まほろば@mahoroba148です。 ホームページを公開しました! 実際に公開したのは1月19日でした。 な…
mahoroba148.com

今回直したのはページ送りで404エラーになってしまう問題。

なぜか3ページ目がエラーになったり、他のカテゴリーでは表示されていたりしていたのですが、かなり初歩的ミスでした。

$pagedは設定しているのに404エラーになってしまう!という方は私と同じ原因かもしれません。

設定の表示件数が原因

ダッシュボードで設定できる表示件数とposts_per_pageで設定している数が異なると404エラーになります。

私の場合、1ページに7件表示しています。

archive.phpには

‘posts_per_page’ => 7

と書きました。

一方、ダッシュボード内の設定>表示設定>表示件数をみると

表示件数

これがよくない!

たとえば記事が15件あった場合、ページ送りは3ページまで表示されます。

15÷7=3
<記事数>÷<表示記事数>=<ページ送り>

しかし、WordPress内の解釈としてはページ送りは2ページまでです。

15÷10=2
<記事数>÷<設定で行った表示記事数>=<ページ送り>

そのため3ページ目が404エラーとなってしまうのです。

404エラーの直し方

ダッシュボード内の設定>表示設定>表示件数をposts_per_pageで設定した記事数と同じにしましょう。

ちなみにposts_per_pageの記事数以下にしても404エラーにはなりませんでした。

表示件数を大きくするときだけダメなようです。

【まとめ】設定との兼ね合いに注意

WordPressはダッシューボードで簡単に設定できる分、PHP内で設定した項目との兼ね合いに気を付けなければいけないですね。

とりあえず直ってよかった。