gpt4 book ai didi

php - 以编程方式有条件地向 Woocommerce 3 添加折扣

转载 作者:可可西里 更新时间:2023-10-31 23:36:02 25 4
gpt4 key购买 nike

我正在寻找一种在结帐期间以编程方式创建优惠券并在结帐完成后将其删除的方法。这需要根据奖金系统来完成,我会检查客户是否可以获得奖金。重要的是,我不想把它作为普通优惠券,因为客户不应该知道代码就可以附加它。

我只找到了附加优惠券或以编程方式创建优惠券的解决方案。我在一次结账时没有发现任何关于临时优惠券的信息。

同样重要的是,这张优惠券只能与另一张优惠券结合使用,而不是更多。

这是我的代码:

if ( get_discount_points() < 100 ) {
//Customer has bonus status 1
} elseif ( get_discount_points() < 200 ) {
//Customer has bonus status 2
} else {
//Customer has bonus status x

按折扣百分比

这有可能吗?

最佳答案

为了简单起见,您可以使用负费用来代替(其中每个步骤点都会增加折扣百分比),例如:

function get_customer_discount(){
if( $points = get_discount_points() ){
if ( $points < 100 ) {
return 1; // 1 % discount
} elseif ( $points < 200 ) {
return 2; // 2.5 % discount
} else {
return 4; // 5 % discount
}
} else {
return false;
}
}


add_action( 'woocommerce_cart_calculate_fees', 'custom_discount', 10, 1 );
function custom_discount( $cart ){
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;

// Only for 2 items or more
if( $percentage = get_customer_discount() ){
$discount = WC()->cart->get_subtotal() * $percentage / 100;

// Apply discount to 2nd item for non on sale items in cart
if( $discount > 0 )
$cart->add_fee( sprintf( __("Discount %s%%"), $percentage), -$discount );
}
}

代码进入事件子主题(或事件主题)的 function.php 文件。经过测试并有效。

关于php - 以编程方式有条件地向 Woocommerce 3 添加折扣,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53925899/

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