Wie du in Woo­Com­mer­ce ver­sand­kos­ten­frei ab einem bestimm­ten Betrag rich­tig einstellst

Wie du in WooCommerce versandkostenfrei ab einem bestimmten Betrag richtig einstellst

Lesedauer: 5 Minuten

Eini­ge Anfra­gen von Blog­le­sern und ‑lese­rin­nen kom­men regel­mä­ßig zu der Pro­ble­ma­tik, wie ein kos­ten­frei­er Ver­sand ab einem bestimm­ten Bestell­be­trag in Woo­Com­mer­ce umge­setzt wird.

Die­sen Punkt fin­de ich auch ziem­lich tri­cky bzw. von Woo­Com­mer­ce nicht all­zu ele­gant gelöst.

Ver­sand­kos­ten­frei ab einem bestimm­ten Bestell­wert: Vorgehensweise

Hier noch­mals eine Fallbeschreibung:

Du ent­schei­dest dich für kos­ten­lo­sen Ver­sand dei­ner Pro­duk­te, doch erst ab einem bestimm­ten Betrag, sagen wir mal ab einem Bestell­wert von 50 Euro.

Liegt der Bestell­wert dar­un­ter, fällt eine Ver­sand­kos­ten­pau­scha­le von 3,50 Euro an. (Mei­ne hier genann­ten Wer­te sind natür­lich belie­big austauschbar.)

Die nächs­ten Schrit­te sehen das Erstel­len einer Ver­sand­kos­ten­zo­ne (z. B. Deutsch­land) vor, in der ein­mal der Name der Zone und dann die Zonen-Regio­nen fest­ge­legt werden.

Da nor­ma­ler­wei­se bei der Wahl von Deutsch­land inner­halb des gan­zen Lan­des Waren ver­sen­det wird, kann man bei den Zonen-Regio­nen auch “Deutsch­land” wäh­len, oder aber Post­leit­zah­len-Gebie­te ein­tra­gen. Wenn letz­te­res der Fall sein soll­te, gib bit­te pro Zei­le eine Post­leit­zahl ein.

Neue Versandzone in WooCommerce anlegen

Bild 1: Anle­gen der Ver­sand­zo­ne Deutschland

Im nächs­ten Schritt wer­den die Ver­sand­ar­ten definiert.

Ich lege zuerst die Ver­sand­kos­ten­pau­scha­le über den But­ton Ver­sand­art hin­zu­fü­gen an.

Versandkostenpauschale in WooCommerce anlegen

Bild 2: Ver­sand­kos­ten­pau­scha­le der Ver­sand­zo­ne hinzufügen

Über Ver­sand­kos­ten­pau­scha­le im Bereich Bezeich­nung wer­de ich die­se nun bear­bei­ten. Ich wäh­le einen ein­fa­chen Betrag aus: 3,50 Euro plus MWSt. (über das Feld Steu­er­sta­tus (Besteu­er­bar) fest­ge­legt), denn Ver­sand­kos­ten sind umsatz­steu­er­pflich­tig, wenn du Mehr­wert­steu­er auf die Pro­duk­te erhebst (wei­te­re Infor­ma­tio­nen fin­dest du hier).

Als Klein­un­ter­neh­mer brauchst du aller­dings kei­ne Mehr­wert­steu­er auf die Ver­sand­kos­ten zu berechnen.

In dem Feld Preis lässt sich auch eine For­mel ein­tra­gen. Wer aller­dings sei­ne Ver­sand­kos­ten auf der Basis von Waren­men­ge, Gesamt­kos­ten des Waren­korbs oder Gebüh­ren berech­net, wird wohl kaum ab einem bestimm­ten Bestell­wert kos­ten­freie Lie­fe­rung anbieten.

Versandkostenpauschale festsetzen in WooCommerce

Bild 3: Preis der Ver­sand­kos­ten­pau­scha­le eintragen

Über den But­ton Ver­sand­art hin­zu­fü­gen lege ich jetzt noch Kos­ten­lo­se Lie­fe­rung an, der Min­dest­be­stell­wert liegt bei 50 Euro.

Kostenlose Lieferung in WooCommerce anlegen

Bild 4: Kos­ten­lo­se Lie­fe­rung festlegen

Wer in sei­nem Shop häu­fig mit Gut­schein­codes han­tiert, soll­te in dem Feld Kos­ten­lo­ser Ver­sand erfor­dert … statt Einen Min­dest­be­stell­wert den Wert Einen Min­dest­be­stell­wert ODER bzw. UND einen Gut­schein auswählen.

Nun sind bei­de Ver­sand­ar­ten im Shop festgelegt.

Warenkorb Summe mit Versandkostenpauschale

Bild 5: Waren­korb mit Ver­sand­kos­ten­pau­scha­le bei Ein­kaufs­wert von unter 50 Euro

Wenn ich jetzt in mei­nen Shop gehe und einen Waren­wert von unter 50 Euro in den Waren­kor­be lege, wird mir fol­gen­des angezeigt:

Es wird auf eine Bestel­lung mit dem Wert 39,00 Euro eine Ver­sand­kos­ten­pau­scha­le 3,50 Euro mit 0,67 Euro MWSt. berech­net. Also genau so, wie es sein soll (sie­he Bild 5).

Nun erhö­he ich den Waren­korb, damit er über 50 Euro Bestell­wert liegt und kei­ne Ver­sand­kos­ten anfal­len sollen.

Warenkorb Summe mit Versandkostenpauschale sowie kostenlosem Versand als Auswahloption

Bild 6: Trotz der Fest­le­gung, dass ab 50 Euro Bestell­wert ver­sand­kos­ten­frei gelie­fert wird, zeigt die Waren­korb-Sum­me neben Kos­ten­lo­se Lie­fe­rung auch Ver­sand­kos­ten­pau­scha­le an.

Und nun pas­siert das, was nicht sein soll. Es wird ein­mal die Ver­sand­kos­ten­pau­scha­le (aktiv geschal­tet) ange­zeigt und ein­mal die kos­ten­lo­se Lie­fe­rung, d. h. der Kun­de hat die Wahl­mög­lich­keit zwi­schen Ver­sand­kos­ten und kos­ten­lo­sem Ver­sand, was nicht sein soll, denn schließ­lich wird ihm ab einem bestimm­ten Bestell­be­trag ver­sand­kos­ten­freie Lie­fe­rung versprochen.

Das ist aus mei­ner Sicht eine Schwach­stel­le bei Woo­Com­mer­ce: Wird ver­sand­kos­ten­frei neben Ver­sand­kos­ten­pau­scha­le in einer Ver­sand­zo­ne fest­ge­legt, wird beim Über­schrei­ten des ver­sand­kos­ten­pflich­ti­gen Betra­ges immer auch die Ver­sand­kos­ten­pau­scha­le zusam­men mit der kos­ten­lo­sen Lie­fe­rung angezeigt.

Um die­se Anzei­ge aus­zu­schlie­ßen, benö­tigst du einen Code-Schnip­sel, den du in die functions.php dei­nes Word­Press-The­mes ein­fü­gen musst.

Hier ist der Code-Schnipsel:

// Alle anderen Lieferkosten ausblenden, wenn ein kostenloser Versand möglich ist

function my_hide_shipping_when_free_is_available( $rates ) {
 $free = array();
 foreach ( $rates as $rate_id => $rate ) {
 if ( 'free_shipping' === $rate->method_id ) {
 $free[ $rate_id ] = $rate;
 break;
 }
 }
 return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );

Wo fin­dest du die functions.php?

Die­se Datei kannst du unter Design -> Edi­tor öff­nen. In der rech­ten Spal­te sind eini­ge The­me-Datei­en auf­ge­führt, die Datei müss­te ganz schlicht functions.php oder func­tions plus The­me-Name hei­ßen, wie an mei­nem Bei­spiel functions-enfold.php.

Den Code kopierst du ein­fach ans Ende der functions.php. Aber auf­pas­sen, dass auch wirk­lich alles voll­stän­dig ein­ge­fügt wur­de, sonst kommt es zu Feh­ler­mel­dun­gen. Die Ände­run­gen soll­test du abspeichern.

Functions.php

Bild 7: functions-enfold.php in mei­nem Bei­spiel (zum Ver­grö­ßern Bild anklicken)

Der Nach­teil der direk­ten Ein­bin­dung ist der, dass bei jedem The­me-Update der Code wie­der über­schrie­ben und damit gelöscht wird.

Das Pro­blem löst du ent­we­der mit einem Child-The­me (dazu gibt es eini­ge Anlei­tun­gen im Inter­net) oder mit dem Plug­in My Cus­tom Func­tions.

Ich selbst habe die­ses Plug­in für die­sen Bei­trag getes­tet und es hat funktioniert.

Wenn du das Plug­in instal­liert und akti­viert hast, fin­dest du unter Ein­stel­lun­gen den Punkt PHP Inser­ter vor. Dar­über gelangst du zum Plug­in und sei­ner Oberfläche.

Dort gibst du dann den oben auf­ge­führ­ten Code-Schnip­sel ein und schal­test das Plug­in auf ON, erst jetzt wird es funktionieren.

PHP-Inserter

Bild 8: Code-Schnip­sel im Plug­in My Cus­tom Functions

Tes­test du jetzt den Waren­korb mit einem Min­dest­be­stell­be­trag von 50 Euro oder dar­über, steht im Feld Ver­sand bei der Waren­korb-Sum­me nur Kos­ten­lo­se Lie­fe­rung, so wie es sein soll.

Warenkorb mit korrekter Anzeige

Bild 9: Nach Inte­gra­ti­on des Code-Schnip­sels wird nur noch Kos­ten­lo­se Lie­fe­rung ab dem fest­ge­leg­ten Bestell­wert angezeigt.

Fazit

Ich hof­fe, ich konn­te mit die­ser Erläu­te­rung eini­ge Unge­reimt­hei­ten bei der Ein­rich­tung von kos­ten­lo­sem Ver­sand ab einem bestimm­ten Bestell­wert ausräumen.

Ich wür­de mich freu­en, wenn Woo­Com­mer­ce in einer der nächs­ten Ver­sio­nen eine ein­fa­che­re Lösung parat hät­te. Dass dies umge­setzt wird, ist aller­dings zu bezweifeln.

Willst du noch mehr über Woo­Com­mer­ce erfahren?

Tei­le die­sen Beitrag:


WordPress Cookie Hinweis von Real Cookie Banner