previous_posts_link()
, next_posts_link()
、これらはWordPressのアーカイブページで「前の一覧」「次の一覧」といったページネーションリンクを出すための関数ですが、なぜかリンク切れを起こしていたので対処しました。
状況:出力されるURLと実際のURLにズレがあった
以下のカテゴリー「hoge」にページネーションを置きたいと仮定する。
example.com/hoge/
ここで next_posts_link()
を使うと、以下のURLを出力していた。
example.com/hoge/page/2
このURLがリンク切れになっており、カンで以下のURLを直打ちしたら正解のページが存在していた。
example.com/category/hoge/page/2
パーマリンクをカスタム設定にしていると、カテゴリーベースとのズレが起きやすくなるようです。
ブログでなくCMSとしてWPを使う時はカスタム設定がスタンダードなのに、こんなバグをいつまで放っておくんだろか…
対応:プラグインで解決した
以下プラグインを入れて、分割ページのURLから「category」を除去した。
https://wordpress.org/plugins/no-category-base-wpml/
以上で想定通りページネーションが組めました。