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

Set a minimum undiscounted order amount in WooCommerce

我正在使用“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' );
        }
    }
}

代码进入您的活动子主题(或活动主题)的 functions.php 文件。已测试并有效。