【WordPress】カスタム投稿タイプへのページング実装をリライトで攻略

電脳備忘録

ページネーションの場合、下記の様なURLになるが、2ページ目以降を表示させようとすると息を吐く様に404が表示された・・・。
/success-story/page/2/

参照元を失念してしまったが、function.phpに下記のコードをかくことでこの不具合を攻略した。

add_rewrite_rule('success-story/([^/]+)/?$', 'index.php?white-paper-cat=$matches[1]', 'top');

一難去ってまた一難、カスタム投稿タイプのトップページはページネーションが機能する様になったが、タームの一覧ページで先ほどと同様に2ページ目が404表示されてしまった。

URLはこんな感じ
/success-story/tarm/page/2/

いろんなサイトを見てそれらの解決方法を試したが、それをあざ笑うかの様に404を表示し続けた・・・。

そう言えばさっきリライトで解決したんだから、下層もリライトで解決できるんじゃね?というところに到達するまでかなりの時間を消費してしまったがこれが解決の糸口だった。

WordPressでRewriteを書きまくる話

上記のエントリーを参考に、構築中のURLに合わせてfunction.phpに下記のリライト書いた。

add_rewrite_rule('success-story/([^/]+)/page/([0-9]{1,})/?$', 'index.php?post_type=white-paper&term=$matches[1]]&paged=$matches[2]', 'top');

それまで404を返し続けられていたのが嘘の様に、2ページ目以降でも404を返すことなく意図した通り表示される様になった・・・。

WPはいつだって攻略対象・・・闘う相手。

広告

ブログの維持費に充てるでございます・・・。