省エネ運転中

【WordPress】GETメソッドで取得可能なパラメータを追加する

WordPressカスタマイズ

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

基本ではありますが、忘れがちなので、念のため。

コメント

タイトルとURLをコピーしました