• Hallo, ich habe in meinen WooCommerce-Einstellungen 2 x bei Versand Abholung. Einmal vor Ort und einmal an einem anderen Ort. Wenn ich bei den Einkäufen den Wert von 100,– für die kostenlose Lieferung nicht überschreite, stehen auch beide Optionen da. Sobald der Wert die 100,– übersteigt und der Versand dann Kostenfrei ist wird nur noch die Abholung vor Ort angezeigt. Was mache ich falsch?

    Ich bentuzte WordPress 6.7.1, das Theme Hello Elementor, Woocommerce mit Germanizid von Vendidero sowie Elementor Pro. Ich habe zusätzlich einen Code in der functions.php eingefügt, damit die Versandmöglichkeiten wie kostenlose Lieferung oder Versandkostenpauschale deaktiviert sind und automatisch erkannt werden.

    Vielen Dank schon einmal im Voraus für Eure Hilfe.

    LG. Andrea

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 12 Antworten – 1 bis 12 (von insgesamt 12)
  • Moderator threadi

    (@threadi)

    Ich bin etwas unsicher wo das Problem genau ist. Wenn der Warenwert über 100 Euro ist wird welche „Abholung vor Ort“ angezeigt? Du hast ja 2.

    Außerdem wäre der Code interessant, den Du in der functions.php eingefügt hast und was der genau machen soll. Denn so richtig habe ich auch hier nicht verstanden worum es geht. Den Code kannst Du gerne per Code Block hier einfügen: https://wordpress.org/support/forum-user-guide/block-editor/#code-block

    Thread-Starter andreauhl185

    (@andreauhl185)

    Hallo Threadi,

    danke für deine Antwort. Wenn der Warenwert über 100,– ist wird nur die Option Abholung vor Ort und nicht die 2. Abholung bei der Laternenkönigin angezeigt.

    Hier ist der Code, den ich in die functions.php eingefügt habe (habe ich gegoogelt und aus dem Internet)

    /**

    • Hide shipping rates when free shipping is available, but keep „Local pickup“
    • Updated to support WooCommerce 2.6 Shipping Zones
      */

    function hide_shipping_when_free_is_available( $rates, $package ) {
    $new_rates = array();
    foreach ( $rates as $rate_id => $rate ) {
    // Only modify rates if free_shipping is present.
    if ( ‚free_shipping‘ === $rate->method_id ) {
    $new_rates[ $rate_id ] = $rate;
    break;
    }
    }

    if ( ! empty( $new_rates ) ) {
        //Save local pickup if it's present.
        foreach ( $rates as $rate_id => $rate ) {
            if ('local_pickup' === $rate->method_id ) {
                $new_rates[ $rate_id ] = $rate;
                break;
            }
        }
        return $new_rates;
    }
    
    return $rates;

    }

    add_filter( ‚woocommerce_package_rates‘, ‚hide_shipping_when_free_is_available‘, 10, 2 );

    Ich bin jetzt keine Programmiererin, mache das nur hobbymäßig und probiere halt einfach aus. Wenn es nicht passt, wird es wieder gelöscht. 😉

    LG. Andrea

    Moderator threadi

    (@threadi)

    Ja, der Code ist an dem Verhalten Schuld. Deaktiviere ihn / entferne ihn, dann sollte sich das Verhalten ändern.

    Thread-Starter andreauhl185

    (@andreauhl185)

    Okay, habe ich, allerdings bleibt dann bei einem Wert über 100.– Euro die Möglichkeit eine Versandkostenpauschale von 12.00 Euro einzustellen (Was wahrscheinlich aber keiner einstellen würde. Unter 100,– paßt es..

    Danke für die Hilfe.

    Moderator threadi

    (@threadi)

    Habe das eben mal bei mir nachgebaut. Eingerichtet habe ich 2 Abholorte und eine kostenlose Lieferung ab 100 Euro.

    OHNE die individuelle Anpassung mit dem PHP-Code werden mir unter 100 Euro nur die beiden Abholorte und ab 100 Euro alle 3 Versandoptionen angezeigt.

    MIT dem Code wird mir nur die kostenlose Lieferung angezeigt, die ich ab 100 Euro zugelassen habe. Also alles richtig bei mir.

    Welche WooCommerce-Version nutzt Du? Ich hab die aktuellste getestet (was auch immer Voraussetzung dafür sein sollte).

    Wie ist die alternative ab 100 Euro genau konfiguriert bei dir? Bei mir ist es einfach nur das:

    View post on imgur.com

    Thread-Starter andreauhl185

    (@andreauhl185)

    Ich habe die Version 9.5.1 – ich aktualisieren immer, sobald ich einen Hinweis dazu bekomme. Die Einstellung ist bei mir so wie bei Dir.

    Stehen bei Dir mit dem Code beide Abholungen?

    Bei mir sieht es über 100,– Euro so aus:

    ohne Code:

    mit Code

    • Diese Antwort wurde geändert vor 1 Woche von andreauhl185.
    Moderator threadi

    (@threadi)

    Wenn Du hier Screenshots posten willst, gehe am besten wie hier beschrieben vor: https://de.wordpress.org/support/topic/wie-kann-man-bilder-in-einen-forenbeitrag-einfuegen/

    Thread-Starter andreauhl185

    (@andreauhl185)

    Habe die vorherige Antwort so bearbeitet.

    Thread-Starter andreauhl185

    (@andreauhl185)

    Hallo Threadi,

    ich habe noch ein bisschen weiter gegoogelt und nun habe ich einen Code der funktioniert, wie ich es haben will. Hier der Code – für alle, die auch das Problem haben.

    Vielen Dank für Deine Hilfe. Das hat mir trotzdem weiter geholfen.

    LG. Andrea

    • Diese Antwort wurde geändert vor 1 Woche von andreauhl185.
    Thread-Starter andreauhl185

    (@andreauhl185)

    Ich noch mal. Leider ist mir jetzt erst aufgefallen, daß bei der Auswahl „Abholung vor Ort“ und bei einem Wert unter 100,– die Versandkostenpauschale in der Kasse trotzdem berechnet wird. Im Warenkorb ist jetzt alles in Ordnung, aber das ist natürlich auch nicht okay, das das dann in der Kasse falsch berechnet wird. Oder gibt es da noch einen Einstellungsmöglichkeit?

    Moderator threadi

    (@threadi)

    Das kann auch an Sitzungsdaten liegen die WooCommerce verwendet um den Warenkorb zu verwalten. Teste das mal in einem privaten Browserfenster.

    Thread-Starter andreauhl185

    (@andreauhl185)

    Hallo Threadi,

    nein, das funktioniert auch nicht. Ich habe aber auch immer den Website-Cash gelöscht sowie beim Status – Werkzeuge alles gelöscht bzw. aktualisiert (Datenbank; Transients etc.) Mittlerweile glaube ich, daß es ein Fehler im Plugin ist. Ich werde mal dorthin schreiben.

    Ich melde mich, wenn ich was weiter weiß.

    LG. Andrea

Ansicht von 12 Antworten – 1 bis 12 (von insgesamt 12)