gpt4 book ai didi

php - 如果在 Woocommerce 中没有应用优惠券,则自动将折扣应用于用户角色

转载 作者:行者123 更新时间:2023-12-05 06:23:26 26 4
gpt4 key购买 nike

我在下面有这段代码,但我希望它仅在用户未使用其他代码时有效,并且如果用户使用其他优惠券,则禁用此优惠券。

根据"Apply a discount for a specific user role in Woocommerce " 答案代码,我一直在尝试查看如何检查是否有任何优惠券,但无法弄清楚。

// 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('affiliate') )
return; // Exit

// Only for 'company' user role
if ( ! current_user_can('affiliate') )
return; // Exit

// HERE define the percentage discount
$percentage = 15;

$discount = $cart->get_subtotal() * $percentage / 100;
// Applying discount
$cart->add_fee( sprintf( __("Affiliate Discount (%s)", "woocommerce"), $percentage . '%'), -$discount, true );
}

感谢任何帮助。

最佳答案

如果购物车中没有适用的优惠券,请尝试以下将根据特定用户角色设置自定义折扣:

// Applying conditionally a discount for a specific user role and no applied coupons
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 'affiliate' user role
if ( ! current_user_can('affiliate') )
return; // Exit

// Only if there is no applied coupons in cart
if ( ! empty( $cart->get_applied_coupons() ) )
return; // Exit

// HERE define the percentage discount
$percentage = 15;

$discount = $cart->get_subtotal() * $percentage / 100; // Calculation

// Applying discount
$cart->add_fee( sprintf( __("Affiliate Discount (%s)", "woocommerce"), $percentage . '%'), -$discount, true );
}

代码在您的事件子主题(或事件主题)的 functions.php 文件中。经过测试并有效。

关于php - 如果在 Woocommerce 中没有应用优惠券,则自动将折扣应用于用户角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58311608/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com