Я использую фрагмент, чтобы установить минимальную стоимость заказа в магазине WooCommerce. Однако у меня возникают некоторые проблемы при применении купона.
Например, минимальная стоимость заказа составляет 500, а клиент применяет купон со значением 500 - это даст промежуточный итог 0, и, следовательно, система выиграла 't разрешить покупателю покупать, потому что промежуточный итог меньше минимальной стоимости заказа.
Поэтому я пытаюсь переписать фрагмент минимальной стоимости заказа, чтобы он не устанавливал минимум при применении купона.
Проведя некоторое исследование, я обнаружил, что должен проверить, применяется ли купон, используя !empty($woocommerce->cart->applied_coupons)
. Тем не менее, это не похоже на работу. Что мне не хватает ??
// MINIMUM ORDER AMOUNT
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;
if ( (WC()->cart->total <= $minimum) && !empty($woocommerce->cart->applied_coupons) ) {
if( is_cart() ) {
wc_print_notice(
sprintf( 'Your current order total is %s — you must have an order with a minimum of %s to place your order ' ,
wc_price( WC()->cart->total ),
wc_price( $minimum )
), 'error'
);
} else {
wc_add_notice(
sprintf( 'Your current order total is %s — you must have an order with a minimum of %s to place your order' ,
wc_price( WC()->cart->total ),
wc_price( $minimum )
), 'error'
);
}
}
}