我正在使用一个代码段设置WooCommerce商店的最低订单价值。但是,如果应用优惠券,我会遇到一些问题。
例如,最小订单价值为500,客户应用了价值为500的优惠券-这将使小计0,因此系统将不允许客户购买,因为小计小于最小订单价值
因此,我正在尝试重写最小订单价值代码段,以便在应用优惠券时不会设置最低要求。
经过一些研究,我发现我应该使用!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'
);
}
}
}
答案 0 :(得分:0)
您可以计算出订单总金额小于或等于最低金额,如果返回true表示订单总金额为500或小于500,那么您将显示错误消息。
>hostvars[groups['myHosts'][1]]['b']
希望它能起作用!
答案 1 :(得分:0)
也许是这样吗?
// 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 variables
$minimum = 500;
global $woocommerce;
if ( (WC()->cart->total <= $minimum) && isset($woocommerce->cart->applied_coupons) ) {
if( is_cart() ) {
wc_print_notice(
sprintf( 'NB! Vi sender ikke bestillinger ud under %s, din nuværende total er %s.' ,
wc_price( $minimum ),
wc_price( WC()->cart->total )
), 'error'
);
} else {
wc_add_notice(
sprintf( 'NB! Vi sender ikke bestillinger ud under %s, din nuværende total er %s.' ,
wc_price( $minimum ),
wc_price( WC()->cart->total )
), 'error'
);
}
}
}