【WordPress】検索クエリのURLにオリジナルのパラメーター を追加したい

WordPressの検索機能を利用すると、検索結果ページのURLの末尾に?s=が追加されます。今回のはこの検索用のパラメーターにオリジナルパラメーターを追加したいと思います。

仮にパラメーター変数名をparam1とした場合のコードです。

function add_query_vars_filter( $vars ){
	$vars[] = "s";
	$vars[] = "param1"; // オリジナルクエリを追加
	return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );

検索フォームタグに以下のコードを追加します。値は仮にVALUEとします。

<input type="hidden" name="param1" value="VALUE">

フォームタグの全体は以下のような形になると思います。

<form class="searchform" role="search" method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
	<label class="searchform__label" for="s"><?php _x( 'Search for:', 'label' ); ?></label>
	<input class="searchform__input" type="text" value="<?php echo get_search_query(); ?>" name="s" id="s" placeholder="検索する" />
	<input type="hidden" name="param1" value="VALUE">
	<button class="searchform__submit" type="submit" id="searchsubmit" value="">検索</button>
</form>

検索フォームで、検索ボタンを押下すると以下のようなURLになります。

/?s=keyword&param1=VALUE

これで完成!ですが、もちろんパラメーターを追加するだけでは何も起こりませんので、以下のコードからパラメーターの値を取得してなんらかの処理を追加して、なんらかの機能を実装してみてください。

$param = isset( $_GET['param1'] ) ? $_GET['param1'] : false;

石井秀幸@WEBデザイナー
WordPress公式『横浜 WordPress Meetup』主宰/株式会社ノクチ基地 取締役/モンゼンクリエイティブ合同会社 代表。WEB制作に関する技術や役立つ情報を発信していきます。10年にわたるWordPress歴を背景に、幅広いアイデアを形にするお手伝いをしています。