概要
woocommerce_tax_rate_added
は、WooCommerceプラグインにおいて税率が追加された際に実行されるアクションフックです。このフックは、税率の追加処理を拡張したり、特定のアクションを実行したりするために使われます。以下はこのフックがよく使われる機能の例です:
- 税率が追加された際に通知を送る
- カスタムログを記録する
- 他のプラグインとの連携を実現する
- 税率のデフォルト値を設定する
- 税率の変更履歴を管理する
- フロントエンドでの表示をカスタマイズする
構文
do_action( 'woocommerce_tax_rate_added', $tax_rate_id );
パラメータ
$tax_rate_id
: 追加された税率のIDです。
戻り値
このアクションは、値を返しません。
使用可能なプラグインWooCommerceのバージョン
- WooCommerce 2.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_tax_rate_added', 'notify_tax_rate_added', 10, 1 );
function notify_tax_rate_added( $tax_rate_id ) {
// 新しい税率が追加されたときに管理者に通知します。
$tax_rate = WC_Tax::get_tax_rate( $tax_rate_id );
$message = '新しい税率が追加されました: ' . $tax_rate->label;
wp_mail( get_option( 'admin_email' ), '新税率のお知らせ', $message );
}
このコードは、新しい税率が追加されたときに管理者にその旨のメールを送信します。
サンプルコード2
add_action( 'woocommerce_tax_rate_added', 'log_tax_rate_added', 10, 1 );
function log_tax_rate_added( $tax_rate_id ) {
// 新しい税率が追加されたときのログを記録します。
$log_message = '税率が追加されました。ID: ' . $tax_rate_id;
error_log( $log_message );
}
このコードは、新しい税率が追加されたことをPHPエラーログに記録します。
サンプルコード3
add_action( 'woocommerce_tax_rate_added', 'set_default_tax_value', 10, 1 );
function set_default_tax_value( $tax_rate_id ) {
// 新しい税率が追加されたときにデフォルトの税率を設定します。
if ( $tax_rate_id ) {
// デフォルト値の設定処理
update_option( 'default_tax_value', $tax_rate_id );
}
}
このコードは、税率が追加された時にその税率をデフォルトの税率として設定します。
サンプルコード4
add_action( 'woocommerce_tax_rate_added', 'custom_tax_rate_behavior', 10, 1 );
function custom_tax_rate_behavior( $tax_rate_id ) {
// 追加された税率に基づいて、他の処理を実行します。
$tax_rate = WC_Tax::get_tax_rate( $tax_rate_id );
// 例えば、特定の条件で別の処理を行うことができます。
if ( $tax_rate->rate > 20 ) {
// 高税率の場合の特別な処理
}
}
このコードは、追加された税率が特定の条件を満たす場合に別の処理を実行します。
サンプルコード5
add_action( 'woocommerce_tax_rate_added', 'history_tax_rate_change', 10, 1 );
function history_tax_rate_change( $tax_rate_id ) {
// 税率の変更履歴をデータベースに保存します。
$tax_rate = WC_Tax::get_tax_rate( $tax_rate_id );
global $wpdb;
$wpdb->insert(
'custom_tax_history',
array(
'tax_rate_id' => $tax_rate_id,
'value' => $tax_rate->rate,
'date' => current_time( 'mysql' ),
)
);
}
このコードは、新しい税率が追加された際にその履歴をカスタムデータベーステーブルに保存します。