概要
woocommerce_get_query_vars
フィルタは、WooCommerceのクエリ変数をフィルタリングおよび拡張するために使用されます。このフックを利用することで、WooCommerce内のさまざまなクエリ変数にカスタム値を追加したり、既存の値を変更したりすることができます。これにより、特定の製品情報やカテゴリー情報を動的に取得することが容易になります。
よく使われる機能
- カスタムクエリ変数の追加
- 製品フィルターの定義
- 商品リストページのカスタマイズ
- カートおよびチェックアウトのクエリパラメーターの調整
- 商品検索機能の拡張
- REST APIのクエリ変数のカスタマイズ
構文
add_filter('woocommerce_get_query_vars', 'custom_function_name');
パラメータ
$query_vars
(配列): WooCommerceのデフォルトクエリ変数の配列。
戻り値
- (配列): フィルタリングまたは拡張されたクエリ変数の配列。
使用可能なWooCommerceのバージョン
- WooCommerce バージョン 2.1 以降
使用可能なWordPressのバージョン
- WordPress バージョン 4.0 以降
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | 〇 |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプル1: カスタムクエリ変数の追加
このコードは、custom_var
というカスタムクエリ変数をWooCommerceに追加しています。
add_filter('woocommerce_get_query_vars', 'add_custom_query_var');
function add_custom_query_var($vars) {
$vars[] = 'custom_var';
return $vars;
}
引用元: https://developer.wordpress.org/reference/hooks/woocommerce_get_query_vars/
サンプル2: 価格帯フィルタの追加
このコードは、特定の価格帯の製品をフィルタリングするためのクエリ変数を追加しています。
add_filter('woocommerce_get_query_vars', 'add_price_range_query_var');
function add_price_range_query_var($vars) {
$vars[] = 'price_range';
return $vars;
}
引用元: https://developer.wordpress.org/reference/hooks/woocommerce_get_query_vars/
サンプル3: カスタムカテゴリークエリの追加
このサンプルは、特定のカスタムカテゴリーをフィルタするためのクエリ変数を追加します。
add_filter('woocommerce_get_query_vars', 'add_custom_category_query_var');
function add_custom_category_query_var($vars) {
$vars[] = 'custom_category';
return $vars;
}
引用元: https://developer.wordpress.org/reference/hooks/woocommerce_get_query_vars/
サンプル4: 特定のタグのクエリ変数を追加
このコードは、特定のタグを持つ製品をフィルタリングするためのクエリ変数を追加します。
add_filter('woocommerce_get_query_vars', 'add_tag_query_var');
function add_tag_query_var($vars) {
$vars[] = 'product_tag';
return $vars;
}
引用元: https://developer.wordpress.org/reference/hooks/woocommerce_get_query_vars/
サンプル5: 特定の製造元のフィルタを追加
このサンプルコードは、特定の製造元に基づく製品のフィルタリングを行うためのクエリ変数を追加します。
add_filter('woocommerce_get_query_vars', 'add_manufacturer_query_var');
function add_manufacturer_query_var($vars) {
$vars[] = 'manufacturer';
return $vars;
}
引用元: https://developer.wordpress.org/reference/hooks/woocommerce_get_query_vars/