, ,

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…

Obsah článku

Přidejte záhlaví a začněte generovat tabulku obsahu

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

10 komentářů: „Minimální cena objednávky ve WooCommerce“

  1. Ludvik avatar

    TOP! Funguje skvěle, přesně tak jak má. Doporučuji a moc děkuji.

  2. Pavla avatar
    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

  3. Musilda avatar
    Musilda

    To by se muselo ještě měnit podle uživatelské role.

  4. Marta avatar
    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

  5. Musilda avatar
    Musilda

    To jedině, že by se místo total, počítalo se subtotal.

  6. Michal avatar
    Michal

    Zdravim, vieme nastavit minimalnu cenu len pre urcitu kategoriu produktov?

  7. Michal avatar
    Michal

    Zdravim,
    dalo by sa nejako zariadit aby to fungovalo iba na jednu vybranu kategoriu produktov?

  8. Musilda avatar
    Musilda

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

  9. Petra avatar
    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ěď.