Php 在WooCommerce中设置最小未折扣订单金额

Php 在WooCommerce中设置最小未折扣订单金额,php,wordpress,woocommerce,cart,discount,Php,Wordpress,Woocommerce,Cart,Discount,我使用“”来要求最低订单金额 如果我有一篮子50欧元的购物,并且我使用10%的折扣代码,我就不能订购我的购物车,因为总共是45欧元 但我只想订购折扣代码已更新的50欧元:使用以下重新访问和压缩的代码,使用未折扣的总额: add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' ); add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' )

我使用“”来要求最低订单金额

如果我有一篮子50欧元的购物,并且我使用10%的折扣代码,我就不能订购我的购物车,因为总共是45欧元


但我只想订购折扣代码已更新的50欧元:使用以下重新访问和压缩的代码,使用未折扣的总额:

add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' );

function wc_minimum_order_amount() {
    // Set this variable to specify a minimum order value
    $minimum = 50;

    $total = WC()->cart->total;
    $discount_total = WC()->cart->get_discount_total(); // updated thanks to 7uc1f3r
    $maximized_total = $total + $discount_total;

    if ( $maximized_total < $minimum ) {

        $notice = sprintf( __('Your current order total is %s — you must have an order with a minimum of %s to place your order '), 
            wc_price( $maximized_total ), 
            wc_price( $minimum )
        );

        if( is_cart() ) {
            wc_print_notice( $notice , 'error' );
        } else {
            wc_add_notice( $notice , 'error' );
        }
    }
}
add_action('woocommerce_checkout_process'、'wc_minimum_order_amount');
添加动作(“购物车前的woocommerce”、“wc最小订单金额”);
函数wc\u最小订单金额(){
//设置此变量以指定最小订单值
$minimum=50;
$total=WC()->cart->total;
$discount_total=WC()->cart->get_discount_total();//由于7uc1f3r更新
$maximized_total=$total+$折扣_total;
如果($maximized_total<$minimum){
$notice=sprintf(u uu('您当前的订单总数为%s-您必须有一个至少为%s的订单才能下订单'),
wc_价格(最大化_总额),
wc_价格(最低)
);
if(is_cart()){
wc_print_通知($notice,'error');
}否则{
wc_添加_通知($notice,'error');
}
}
}

代码进入活动子主题(或活动主题)的functions.php文件。经过测试,效果良好。

谢谢,但我尝试使用折扣代码。折扣总额为40欧元,不包括在内work@MichaelRobert当您替换
$discount\u total=WC()->cart->discount\u total使用
$discount_total=WC()->cart->get_discount_total()?我已经更新了我的答案…奇怪,因为两者都
$discount\u total=WC()->cart->discount\u total
$discount_total=WC()->cart->get_discount_total()为我处理不同的WC版本。@LoicTheAztec调试时,我注意到该值保留为0,我只使用1个版本的WC,这是最新版本(4.2.0)。所以我无法将它与其他版本进行比较。我也不能立即解释差异。@7uc1f3r我有自2.4版以来的主要测试版本:)好的。我不知道。非常感谢。