質問: いつもお世話になっています。 ### 前提・実現したいこと wordpressの記事一覧ページにて、カスタムフィールドの値で並べ替えをしたいと思っています。 (追記:WPのバージョンは5.1です) 下記サイトを参考にし、 https://magnets.jp/web_design/3124/ 下記のように記載いたしました。 ``` 新着順 XXX順 ``` ### 発生している問題・エラーメッセージ 新着順の方は期待通りの動作をするのですが、XXX順の方はURLパラメータの一部が&ではなく#038;でとエスケープされた状態となります。 全てが#038;なのではなく、一部のみです。 下記にパラメータ部分のみ抜粋いたします。 order=DESCの後ろのみ、&がエスケープされています。 恐らくこれによってですが、期待通りのソート結果とはなっていません。 (直接ブラウザのURLの#038;を&に書き換えると、期待通りの動作となるため) ``` ?s&meta_key=_reaction_buttons_0&orderby=meta_value_num&order=DESC#038;ppp%5B0%5D=qqq ``` (上記ではタクソノミー部分をpppやqqqに置き換えています) (追記:この現象が起こるのは、タクソノミーで絞込検索した後に、並べ替えをしようとしたときです。add_query_argで追加したパラメータと、もともとURLにあったタクソノミーのパラメータとの間の&がエスケープされているようです) ### 試したこと esc_urlをesc_url_rawに変えてみましたが、結果は同じでした。 原因として何かお心当たりのある方、申し訳ございませんがご教示をお願いできませんでしょうか。 以上、よろしくお願い致します。
回答: 根本的な解決ではありませんが、 ``` get_pagenum_link(1) ``` がよくなかったようで、これを除くとエスケープされずに期待通りの動作となりました。 (新着が機能していると勘違いしたのは、恐らく単に記事のデフォルト表示状態が新着順だったからかと...申し訳ございません) 並べ替えた時に1ページ目に遷移したいので、下記のような形で無理やり実現しました。 ``` 新着順 XXX順 ``` なぜget_pagenum_link(1)がつくとだめなのかがわからないままですが...