add_filter( 'get_pagenum_link', 'tweak_pagenation_link' ); function tweak_pagenation_link( $link ) { return preg_replace( '~/page/(\d+)/?~', '/?paged=\1', $link ); }
functions.phpで作ったページネーションのフォーマットがリライトされて404になる問題の解決方法
functions.phpで作ったページネーションがパーマリンクの設定によって自動でリライトされてしまい、2ページ目以降が404になってしまいアクセスできなくなってしまう問題にぶちあたりました。
下記の参考リンクと同様の問題なのですが、参考のコードを利用しても僕のローカル環境では問題が解決しませんでした。
前述の参考記事のコードではpageというキーワードとマッチする前にリダイレクトされているようで、先に404へリダイレクトされてしまいます。
後述の参考URLのように /page/○○ という時にだけ条件一致でリライトするようにしたら無事解決し、他のp−まリンク設定でも現状は問題なさそうなのでそのようにしました。