2020年11月26日木曜日

ワードプレスのページネーションについて

 あまプロではWrodpressでウェブサイトを構築する事が有ります。
ワードプレスで少し躓いたんであメログ。

 ワードプレスでは投稿を一定数のページ単位で表示するページネーションという機能が備わっています。
公式の基本的な例にPHPのプログラムが載っていて、それをコピペしたらページネーションのHTMLが生成される
筈なんですが、何故か私の環境ではURLのクエリ部分が
https://amahiroba.info/?page_id=721&category=ボランティア募集#038;category=ボランティア募集&paged=2
の様にcategoryが繰り返されて正しいURLになりませんでした…。

原因を調べてみるとesc_url( get_pagenum_link( $big))でURLをエスケープしている箇所が有るんですが、そこにマルチバイト文字列(日本語)等#038;が入っているとエスケープ出来ないそうです。
なので、エスケープ出来る様にhtml_entity_decode( get_pagenum_link( $big))に改修すると

正しいURLが生成されました。
https://amahiroba.info/?page_id=721&category=ボランティア募集&paged=2