Pokud nabízíte v eshopu specifické zboží a chcete nákup podmínit minimální částkou, kterou je potřeba utratit, aby bylo vůbec možno nakoupit, bude se vám hodin následující snippet.
Opět, stejně jako v jiných případech, použijeme vestavěné akce, které má WooCommerce v hojném množství.
Tenotkrát to bude woocommerce_checkout_process a woocommerce_before_cart.
Do functions.php přidáme následující kód.
add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' );
function wc_minimum_order_amount() {
$minimum = 50;
if ( WC()->cart->total < $minimum ) {
if( is_cart() ) {
wc_print_notice(
sprintf( 'You must have an order with a minimum of %s to place your order, your current order total is %s.' ,
wc_price( $minimum ),
wc_price( WC()->cart->total )
), 'error'
);
} else {
wc_add_notice(
sprintf( 'You must have an order with a minimum of %s to place your order, your current order total is %s.' ,
wc_price( $minimum ),
wc_price( WC()->cart->total )
), 'error'
);
}
}
}
Tento kód sleduje celkovou hodnotu objednávky, což znamená, že započítává i cenu dopravy.
Pokud chcete mít čistou hodnotu košíku, musíte změnit všechny zápisy WC()->cart->total na WC()->cart->subtotal
Další užitečné snippety najdete na stránce Užitečné snippety pro WooCommerce