概要
woocommerce_taxonomy_args_$TAXONOMY_NAMEフィルタは、WooCommerceのタクソノミーの引数を変更するために使用されます。このフィルタを使うことで、WooCommerceで使用されるカスタムタクソノミーの設定をフックすることができます。これにより、特定のニーズに応じて動作を調整することが可能です。
このフィルタは以下のような機能を実装する際によく使われます:
- タクソノミーの名前を変更する
- クエリの引数をカスタマイズする
- タクソノミーのスラッグを変更する
- 表示順序や制限の設定を行う
- 権限設定をカスタマイズする
- タクソノミーのメタデータを追加する
構文
add_filter('woocommerce_taxonomy_args_$TAXONOMY_NAME', 'your_function_name', 10, 1);
パラメータ
$TAXONOMY_NAME: 対象とするタクソノミーの名称your_function_name: フィルタに適用するコールバック関数10: 優先度(デフォルトは10)1: 引数の数(タクソノミーの引数が渡される)
戻り値
カスタマイズされたタクソノミーの引数の配列。
使用可能なバージョン
- WooCommerceバージョン: 3.0以上(具体的なバージョンに依存する場合あり)
- 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
add_filter('woocommerce_taxonomy_args_product_cat', 'custom_product_cat_args');
function custom_product_cat_args($args) {
$args['orderby'] = 'name';
return $args;
}
このサンプルコードは、製品カテゴリのタクソノミーの引数を変更し、カテゴリ名で並び替えを行います。
サンプルコード 2
add_filter('woocommerce_taxonomy_args_product_tag', 'modify_product_tag_args');
function modify_product_tag_args($args) {
$args['hierarchical'] = false; // 商品タグは階層的ではない
return $args;
}
このコードは、商品タグのタクソノミーを階層的でなくする設定を行います。
サンプルコード 3
add_filter('woocommerce_taxonomy_args_product_cat', 'change_product_cat_slug');
function change_product_cat_slug($args) {
$args['rewrite'] = array('slug' => 'my-custom-category');
return $args;
}
このサンプルでは、製品カテゴリのスラッグを「my-custom-category」に変更しています。
サンプルコード 4
add_filter('woocommerce_taxonomy_args_product_cat', 'set_product_cat_capabilities');
function set_product_cat_capabilities($args) {
$args['capabilities'] = array('manage_terms' => 'manage_product_categories');
return $args;
}
このコードは、製品カテゴリに対する権限を管理者のみに設定する例です。
サンプルコード 5
add_filter('woocommerce_taxonomy_args_product_tag', 'add_product_tag_meta');
function add_product_tag_meta($args) {
$args['meta_box_cb'] = 'post_categories_meta_box'; // カテゴリのメタボックスを追加
return $args;
}
このサンプルコードは、商品タグにメタボックスを追加する設定を行います。
引用元は、WooCommerceの公式ドキュメントや開発者向けのリファレンスに随時参照してください。