固定ページでのページングで日本語のGETパラメータが消える
-
はじめまして。
現在、特定のカスタムフィールドを検索して、該当する記事を検索結果として表示するサイトを作っているのですが、検索結果のページングの際に、GETパラメータが消えてしまうという現象に頭を抱えています。皆様のお知恵をお貸しください。
以下のようなURLでアクセスされた場合、カスタムフィールドの「region」キーの値が「東京都」で「kind」キーの値が「中華」というデータを持つ記事を表示するような感じです。
http://example.com/result?region=東京都&kind=中華
(もちろん日本語部分はURLエンコードした状態でリクエストしています)具体的にはテーマフォルダ内に、「page-result.php」を作り、以下の処理をさせて検索結果を表示するようにしています。
1:GETパラメータ・ページ位置(get_query_var(‘paged’))の取得
2:クエリの組み立て
3:query_postsの実行(1ページの最大20件、20件以上はページング)
4:記事の表示
5:wp-pagenaviでのページング
6:wp_reset_queryの実行このような処理で、検索結果の1ページ目は期待した結果(東京都、中華での検索結果)が表示されます。
しかし、wp-pagenaviのリンクをクリックして2ページ目以降を表示させようとすると、URLから日本語のパラメータが消えてしまい、上記1の処理で空の値が取得され、期待した検索結果が得られなくなってしまいます。
1ページ目を表示している時のページングのリンクURLは以下のように正しくGETパラメータが設定されています。
http://example.com/result/page/2?region=東京都&kind=中華
しかしこのリンクをクリックすると、URLが書き換えられて、
http://example.com/result/page/2?region&kind
のようになってしまい、GETパラメータが取得できなくなってしまうのです。
解決策が見つからず困り果てております。
どなたかご教授いただけませんでしょうか?
なお、GETパラメータに英語を設定した場合は英語の部分だけ残ります。例)リンクURL)http://example.com/result/page/2?region=東京都&kind=喫茶CAFE
↓こんな感じ
表 示URL)http://example.com/result/page/2?region&kind=CAFE
- トピック「固定ページでのページングで日本語のGETパラメータが消える」には新たに返信することはできません。