WordPressで、検索機能などのカスタマイズのためにGETメソッドのパラメータを追加する場合、そのままget_query_var()を使うだけでは取り出すことができません。
$ext_keyword = esc_attr(get_query_var('ext-keyword')); // empty
GETパラメータを取得するには、query_varsフィルタにフックして必要なパラメータを追加する必要があります。
GETメソッドの値を取得する方法
functions.phpなどに以下を記載します。
function ext_query_vars( $vars ) {
$vars[] = 'ext-keyword'; //追加検索キーワード
$vars[] = 'ext-category'; //追加検索カテゴリ
return $vars;
}
add_filter('query_vars', 'ext_query_vars');
これで各ページで「ext-keyword」「ext-category」のGETパラメータが有効になり、ページ内で取り出すことができます。
値を取得するには前述のget_query_var()を使用します。
例:http://hogehoge.com/hogehoge?ext-keyword=AAA&ext-category=BBB
$ext_keyword = esc_attr(get_query_var('ext-keyword')); // AAA
$ext_category = esc_attr(get_query_var('ext-category')); // BBB
基本ではありますが、忘れがちなので、念のため。
コメント