概要
woocommerce_change_term_counts
アクションは、WooCommerce において、ターム(カテゴリーやタグなど)のカウントが変更された際にトリガーされます。このアクションは、カスタム機能を実装する際によく使われるフックであり、主に以下の機能を実現するために利用されます。
- タームに関連するカスタム処理の実行
- 別のデータストレージにカウントを保存
- セッションやキャッシュの更新
- ユーザー通知やログの作成
- 条件に基づくアクションの実行
- サードパーティ製のインテグレーションの実行
構文
add_action( 'woocommerce_change_term_counts', 'your_function_name', 10, 2 );
パラメータ
int $term_id
: 変更されたタームの IDint $taxonomy
: タームのタクソノミー(カテゴリーやタグなど)
戻り値
このアクション自体は戻り値を持ちませんが、フック内の関数から必要に応じてデータを返すことが可能です。
使用可能なプラグインおよびバージョン
- 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_action( 'woocommerce_change_term_counts', 'log_term_count_change', 10, 2 );
function log_term_count_change( $term_id, $taxonomy ) {
error_log( "Term ID: $term_id in taxonomy $taxonomy has changed." );
}
このサンプルコードは、タームのカウントが変更された時にその情報をログとして記録します。
サンプルコード 2: タームのカウントに応じてカスタムメタを更新する
add_action( 'woocommerce_change_term_counts', 'update_custom_meta_after_count_change', 10, 2 );
function update_custom_meta_after_count_change( $term_id, $taxonomy ) {
update_term_meta( $term_id, 'custom_meta_key', 'New Value' );
}
このサンプルコードは、タームのカウント変更時にカスタムメタを更新します。
サンプルコード 3: 特定のタクソノミーに対して条件に基づいてアクションを実行
add_action( 'woocommerce_change_term_counts', 'conditional_action_on_term_change', 10, 2 );
function conditional_action_on_term_change( $term_id, $taxonomy ) {
if ( $taxonomy === 'product_cat' ) {
// 特定のタクソノミー(商品カテゴリ)のカウント変更時の処理
}
}
このサンプルコードは、商品カテゴリのタームのカウントが変更された際に特定の処理を実行します。
サンプルコード 4: タームカウント変更に基づいて通知を送信
add_action( 'woocommerce_change_term_counts', 'send_notification_on_count_change', 10, 2 );
function send_notification_on_count_change( $term_id, $taxonomy ) {
// 通知を送信するためのロジック
}
このサンプルコードは、タームカウントが変更された際に、ユーザーに通知を送信するための処理を実装します。
サンプルコード 5: タームカウントを別のデータベースに保存
add_action( 'woocommerce_change_term_counts', 'save_term_count_to_custom_db', 10, 2 );
function save_term_count_to_custom_db( $term_id, $taxonomy ) {
global $wpdb;
// カウントをカスタムDBテーブルに保存するロジック
}
このサンプルコードは、タームのカウントが変更された際にそのカウントをカスタムデータベースに保存します。