WordPressで検索を行なった際、デフォルトでは検索結果を表示するページでは下記のように?s
を用いたパラメータがついたURLになります。
http://example.com/?s=検索キーワード
この?s=
の箇所をfunctions.php
に下記のように記述することで任意のものに変更することができ、wp_safe_redirect()
を用いて任意のURLにリダイレクトするようにします。
functions.php
add_action( 'template_redirect', 'nxw_change_search_result_url' );
function nxw_change_search_result_url() {
if ( is_search() && ! empty( $_GET['s'] ) ) {
wp_safe_redirect( home_url( '/search/' ) . urlencode( get_query_var( 's' ) ) );
exit();
}
}
この場合は?s=
を/search/
に変更するもので、記述後に検索を試すと検索結果を表示するページが下記のようなURLになるのを確認できます。
http://example.com/search/検索キーワード