WooCommerce: Mindestbestellwert für Onlineshop festlegen

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.

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.

WooCommerce Mindestbestellwert Notiz
exemplarisches Beispiel einer WooCommerce Mindestbestellwert Notiz

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.

Geschrieben von Robert Menzel

Benutzerbild

Robert arbeitet als Frontend-Developer und Web-Designer bei kulturbanause. Zu seinen Aufgaben gehören die visuelle Gestaltung und die technische Umsetzung von Websites, eCommerce-Shops oder dessen Kombination. Besonders gerne übernimmt er die Entwicklung individueller und anspruchsvoller Websites mit umfangreichen ineinandergreifenden Funktionen, getreu dem Motto: »Der beste Lack bringt nichts, wenn die Maschine darunter nicht läuft.«

Feedback & Ergänzungen – 3 Kommentare

  1. Alex
    schrieb am 08.09.2022 um 07:54 Uhr:

    Danke für das Snippet. Leider kann der Kunde trotz Mindestbestellwert den Kaufprozess abschließen. Entweder über den PayPal Express Button oder einfach den normalen Kassenprozess durchlaufen. Gibt es eine Möglichkeit dies zu verhindern?

    Viele Grüße
    Alex

    Antworten
  2. thekla sebastian
    schrieb am 25.06.2021 um 16:01 Uhr:

    Fortsetzung zu oben: (-,79cent)
    wenn der Kunde die Meldung ignoriert, kann er trotz nicht erreichens den Bestellvorgang abschliessen!
    liebe Grüße thekla

    Antworten
  3. thekla sebastian
    schrieb am 25.06.2021 um 15:45 Uhr:

    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

    Antworten

Kommentar zu dieser Seite

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

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 →