概要
woocommerce_cart_total_ex_tax
フィルタは、WooCommerceのカートの合計金額(税抜き)の表示を変更するために使用されます。このフィルタを使ってカスタマイズすることで、さまざまな条件やビジネスニーズに応じたトータル金額を表示することが可能です。以下のような機能を実装する際に特によく使われます。
- カート合計金額の追加の割引を適用
- 通貨形式のカスタマイズ
- ロイヤリティプログラムに基づく割引の表示
- 一定の条件に基づく特別な料金や手数料の追加
- ユーザーロールごとの価格設定の変更
- 限定キャンペーンの折引価格表示
構文
add_filter('woocommerce_cart_total_ex_tax', 'custom_cart_total_ex_tax', 10, 1);
パラメータ
$cart_total_ex_tax
: 現在のカートの税抜き合計金額(float)。
戻り値
- カスタマイズ後の税抜き合計金額(float)。
使用可能なバージョン
- WooCommerce: 2.1.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_cart_total_ex_tax', 'apply_additional_discount', 10, 1);
function apply_additional_discount($cart_total_ex_tax) {
$discount = 10.00; // 固定の割引額
return $cart_total_ex_tax - $discount;
}
// このコードは、カート合計から固定の割引額を引く処理を行います。
サンプルコード 2: 通貨記号を追加する
add_filter('woocommerce_cart_total_ex_tax', 'add_currency_symbol_to_cart_total', 10, 1);
function add_currency_symbol_to_cart_total($cart_total_ex_tax) {
return '¥' . number_format($cart_total_ex_tax, 2);
}
// このコードは、カートの合計金額に通貨記号を追加して整形します。
サンプルコード 3: ロイヤリティプログラムの割引適用
add_filter('woocommerce_cart_total_ex_tax', 'apply_loyalty_discount', 10, 1);
function apply_loyalty_discount($cart_total_ex_tax) {
if (is_user_logged_in()) {
$loyalty_discount = 5.00; // ロイヤリティ割引
return max($cart_total_ex_tax - $loyalty_discount, 0);
}
return $cart_total_ex_tax;
}
// このコードは、ログインユーザーにロイヤリティ割引を適用します。
サンプルコード 4: 税抜き合計の特別料金を追加
add_filter('woocommerce_cart_total_ex_tax', 'add_special_fee', 10, 1);
function add_special_fee($cart_total_ex_tax) {
$special_fee = 2.50; // 特別料金
return $cart_total_ex_tax + $special_fee;
}
// このコードは、税抜きカート合計に特別料金を追加します。
サンプルコード 5: ユーザーロールによる価格調整
add_filter('woocommerce_cart_total_ex_tax', 'adjust_cart_total_by_user_role', 10, 1);
function adjust_cart_total_by_user_role($cart_total_ex_tax) {
if (current_user_can('premium_member')) {
return $cart_total_ex_tax * 0.9; // プレミアムメンバーには10%割引
}
return $cart_total_ex_tax;
}
// このコードは、プレミアムメンバーに対してカート合計を10%割引します。
これらのサンプルコードは、woocommerce_cart_total_ex_tax
フィルタを使用して、カートの合計金額をさまざまに変更する方法を示しています。これにより、サイト運営者は自らのビジネスモデルに合わせた価格設定を行うことができます。