Contact Info

  • aniuma OÜ Harju maakond, Tallinn, Lasnamäe linnaosa, Sepapaja tn 6, 15551

functions.phpで作ったページネーションのフォーマットがリライトされて404になる問題の解決方法

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

function tweak_pagenation_link( $link )
{
    return preg_replace( '~/page/(\d+)/?~', '/?paged=\1', $link );
}
https://wordpress.stackexchange.com/questions/78546/change-permalink-structure-for-pagination-only