やりたいこと
wordpressで検索結果URLの一部を/区切りにしたい
例:
現状のURLパラメータ ?mt%5Bseminar_place_sort%5D%5B%5D=開催地1&mt%5Bseminar_place_sort%5D%5B%5D=開催地2&mt%5Bseminar_themes%5D%5B%5D=テーマ1&mt%5Bseminar_themes%5D%5B%5D=テーマ2&mt%5Bseminar_date%5D=日付
上記のパラメータを以下のようにしたい
URL/開催地1/開催地2/テーマ1/テーマ2/?mt%5Bseminar_date%5D=日付
試したこと
まずはmtのseminar_themesを/区切りにしようと思ったが、以下のコードでは動かなかった
以下のフォームをsubmitした時に発動するようにしたい <form action="<?php echo esc_url(home_url()); ?>/seminar" method="get"> /* 検索パラメータを/区切りにする処理 --------------------------------------------------------------- */ function nxw_change_search_result_url() { if ( is_search() && ! empty( $_GET['mt[seminar_themes][]'] ) ) { wp_safe_redirect( home_url( '/' ) . urlencode( get_query_var( 'mt[seminar_themes][]' ) ) ); exit(); } } add_action( 'template_redirect', 'nxw_change_search_result_url' );
参考:https://www.nxworld.net/wordpress/wp-change-search-result-url.html
知りたいこと
- 上記のやり方でできそうかどうか
- そもそもnxw_change_search_result_urlが呼ばれているのかを確かめる方法
- getパラメータはブラウザ上ではmt%5Bseminar_place_sort%5D%5B%5Dとなっているが、コード上では[]と表現しても良いのか
以上です。よろしくお願いいたします。
あなたの回答
tips
プレビュー