Minimální cena objednávky ve WooCommerce

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

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

10 Comments

  1. Pavla

    Dobrý den, funguje perfektně. Jak by to bylo, kdyby min cena objednávky byla pouze pro určitou roli (skupinu zákazníků)? Srdečně zdravím, Pavla

    Odpověď
  2. Marta

    Ahoj Musildo,
    šlo by něco podobného udělat i s dopravou zdarma nebo Zásilkovnou? Zápasím totiž s takovým problémem… Když mám dopravu na výdejní místo Zásilkovny zdarma při nákupu nad 500 Kč a při placení zákazník uplatní slevový kupón nebo body, total klesne pod 500, ale doprava zdarma mi tam zůstává. Potřebovala bych nějak nastavit, aby to bralo v potaz total a ne cenu košíku. Předem děkuji za odpověď!
    Marta

    Odpověď
    1. Musilda

      Dobrý den, takto jak napsaný tento článek asi ne. Musel by se projít košík a vytáhnout produkty jedné kategorie.

      Odpověď
  3. Petra

    Ahoj Musildo,

    jak by šlo nastavit minimální hodnotu nákupu pro produkty z jedné vybrané kategorie?
    Ocenila bych ideálně nějaký plugin, protože nerozumím kódům. :)
    Díky za odpověď.

    Odpověď

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *