为 Woocommerce 中的特定用户角色应用折扣
Apply a discount for a specific user role in Woocommerce
我有一个 woocommerce 商店,有 3 个用户角色,我只想为一个用户角色 'company'.
提供购物车总额 10% 的折扣
我发现 "" 的答案与我的需要相去甚远,但不知道如何修改代码来满足我的需要,因为它还包含一个基于付款方式的条件,仅在结帐时显示折扣,但我也需要它显示在购物车中。
以下代码将为 'company' 用户角色(在购物车和结帐时)应用 10% 的折扣:
// Applying conditionally a discount for a specific user role
add_action( 'woocommerce_cart_calculate_fees', 'discount_based_on_user_role', 20, 1 );
function discount_based_on_user_role( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return; // Exit
// Only for 'company' user role
if ( ! current_user_can('company') )
return; // Exit
// HERE define the percentage discount
$percentage = 10;
$discount = $cart->get_subtotal() * $percentage / 100; // Calculation
// Applying discount
$cart->add_fee( sprintf( __("Discount (%s)", "woocommerce"), $percentage . '%'), -$discount, true );
}
代码继续在您的活动子主题(或活动主题)的 functions.php
文件中。它应该有效。
我有一个 woocommerce 商店,有 3 个用户角色,我只想为一个用户角色 'company'.
提供购物车总额 10% 的折扣我发现 "
以下代码将为 'company' 用户角色(在购物车和结帐时)应用 10% 的折扣:
// Applying conditionally a discount for a specific user role
add_action( 'woocommerce_cart_calculate_fees', 'discount_based_on_user_role', 20, 1 );
function discount_based_on_user_role( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return; // Exit
// Only for 'company' user role
if ( ! current_user_can('company') )
return; // Exit
// HERE define the percentage discount
$percentage = 10;
$discount = $cart->get_subtotal() * $percentage / 100; // Calculation
// Applying discount
$cart->add_fee( sprintf( __("Discount (%s)", "woocommerce"), $percentage . '%'), -$discount, true );
}
代码继续在您的活动子主题(或活动主题)的 functions.php
文件中。它应该有效。