WooCommerce: Mindestbestellwert für Onlineshop festlegen
WooCommerce bietet standardmäßig keine Eingabe eines Mindestbestellwerts. Dieser lässt sich jedoch mit wenig Aufwand nachrüsten.

Als Mindestbestellwert wird ein Betrag innerhalb eines Onlineshops bezeichnet, der mindestens erreicht werden muss, damit die Bestellung abgeschlossen werden kann. Sehr häufig wird auf einen Mindestbestellwert zurückgegriffen, wenn eine Lieferung erst ab einem bestimmten Betrag wirtschaftlich ist, z. B. bei Essens- und Getränkelieferungen. WooCommerce unterstützt diese Option nicht in der Standardinstallation – sie kann jedoch unkompliziert nachgerüstet werden.
Schulungen von kulturbanause
Intensive Trainings mit hohem Praxisbezug.
WooCommerce-Mindestbestellwert festlegen
Den Mindestbestellwert definieren wir in einer Variable $minimum
, der wir einen numerischen Wert (Summe ohne Währungszeichen) zuweisen. Im Beispiel haben wir den Mindestbestellwert auf 50 Euro festgelegt.
$minimum = 50;
Versandkosten im Mindestbestellwert ignorieren
Ob die Versandkosten Bestandteil des Mindestbestellwerts sein sollen, wird mit folgendem Code bestimmt. Ist die Variable $include_shipping
auf false
gesetzt, gilt der Mindestbestellwert exklusive Versandkosten, ist er auf true
gesetzte, sind Versandkosten inbegriffen.
$include_shipping = false;
if($include_shipping == true) {
$cart_total = WC()->cart->total;
} else {
$cart_total = WC()->cart->total - WC()->cart->shipping_total;
}
WooCommerce um Mindestbestellwert erweitern
Um unseren WooCommerce-Shop nun um die Mindestbestellwert-Funktion zu erweitern, übernehmen wir die Angaben der festgelegten Summe und die Entscheidung über die Inkludierung von Versandkosten in eine Funktion. Anschließend integrieren die Funktion mit Hilfe der Hooks woocommerce_before_cart
und woocommerce_checkout_process
in den Warenkorb und die Kasse unseres Onlineshops.
Hierzu muss der folgende Code in die functions.php
eures Themes oder in ein seitenspezifisches Plugin integriert werden.
function kb_minimum_order_amount() {
$minimum = 50;
$include_shipping = false;
if($include_shipping == true) {
$cart_total = WC()->cart->total;
} else {
$cart_total = WC()->cart->total - WC()->cart->shipping_total;
}
if ( $cart_total < $minimum ) {
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','kb-theme'),
wc_price( $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','kb-theme'),
wc_price( $cart_total ),
wc_price( $minimum )
), 'error'
);
}
}
}
add_action('woocommerce_checkout_process', 'kb_minimum_order_amount');
add_action('woocommerce_before_cart' , 'kb_minimum_order_amount');
Innerhalb der Funktion fragen wir nun ab, ob der Gesamtbetrag kleiner ist, als der festgelegte Mindestbestellwert. Tritt dieser Fall ein, wird dem Benutzer eine Fehlermeldung mit dem aktuellen Betrag und dem zu erfüllenden Mindestbestellwert angezeigt und der Bestellprozess kann nicht beendet werden.

Ist der Mindestbestellwert erreicht, verschwindet der Hinweis und die Bestellung kann abgeschlossen werden.
Wenn ihr den Mindestbestellwert, die Hinweistexte und die Entscheidung ob die Versandkosten mit inbegriffen sein sollen im Backend einstellen möchtet, integriert eine »Theme Option Page« um die Werte an den Code zu übergeben.
Links / Quellen
Feedback & Ergänzungen – 2 Kommentare
Kommentar zu dieser Seite
WooCommerce-Projekte mit kulturbanause
Wir arbeiten intensiv mit WordPress und realisieren auf Basis von WooCommerce maßgeschneiderte Online-Shops. Individuell gestaltet, funktional optimiert und rechtssicher.
WooCommerce-Leistungsangebot →Schulungen von kulturbanause
Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.
Übersicht Schulungsthemen →
Fortsetzung zu oben: (-,79cent)
wenn der Kunde die Meldung ignoriert, kann er trotz nicht erreichens den Bestellvorgang abschliessen!
liebe Grüße thekla
Habe gerade euer Snippet in der functions.php des themes integriert.
Habe testweise ein 15€ Produkt in den Warenkorb gelegt. Meldung: „your current order total is 15,79 € — you must have an order with a minimum of 25,00 € to place your order“
dasselbe ein 8,50 Produkt dazugelegt: „Your current order total is 24,29 € — you must have an order with a minimum of 25,00 € to place your order“
muss das snippet leider wieder entfernen…
Wo kommen die ,-79cent her???
lg thekla