1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Woocommerce - Betrag auf 5 Rappen runden

Dieses Thema im Forum "Onlineshop mit WordPress" wurde erstellt von miba, 15. Dezember 2018.

  1. miba

    miba Active Member

    Registriert seit:
    16. Dezember 2017
    Beiträge:
    30
    Zustimmungen:
    2
    Hallo weil der alte Thread schon Älter ist eröffne ich hier einen neuen.

    Wir schon im alten Thread beschrieben reicht es in der funktions.php die folgenden Zeilen einzufügen um den Gesamtbetrag im Warenkorb auf die nächsten 5 auf oder ab zu runden.

    add_filter( ‘woocommerce_calculated_total’, ’round_price_product’, 10, 1);
    function round_price_product( $price ){
    return round(($price + 0.000001) * 20) / 20; }


    Wenn nun aber im Woocommerce Backoffice eine Bestellung bearbeitet und Aktualisiert wird. so wird auch die Berechnung neu durchgeführt und es wir nicht mehr auf 5 gerundet.

    In welche Datei kann auf das Runden des Gesamtbetrages im Backoffice eingewirkt werden?

    vielen Dank für hinweise
     
  2. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Im Backend gibt es keinen Filter mit dem das in der von mir gezeigten Form möglich wäre wie im Frontend. Der einzige Ausweg ist ein komplette Neuberechnung mit der gewünschten Rundung mittels einer Kopie der Methode calculate_totals() der abstrakten Klasse WC_Abstract_Order über den Hook woocommerce_order_after_calculate_totals.
     
  3. miba

    miba Active Member

    Registriert seit:
    16. Dezember 2017
    Beiträge:
    30
    Zustimmungen:
    2
    @ mensmaximus
    danke für die Antwort
    ich habe nicht ganz verstanden in welcher Datei ich da ansetzen muss.
    habe mich aber in woocomerce umgeschaut und die Datei round.js und round.min.js gefunden
    ist es vielleicht möglich die Rundung für woocomerce in diesen Dateien zu Beinflusen?
     
  4. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    In WooCommerce Dateien wird nichts verändert (außer bei Template Overrides). Wie es geht, habe ich beschrieben.
     
  5. miba

    miba Active Member

    Registriert seit:
    16. Dezember 2017
    Beiträge:
    30
    Zustimmungen:
    2
    Hallo und Danke für deine Beschreibung.
    Ich habe mich dran gesetzt und die letzten zwei Tage mit dem versuch verbracht deine Beschreibung umzusetzen, leider ohne Erfolg.
    ich denke dafür fehlen mir die tieferen Kenntnisse.

    gruss
     
  6. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Im Jobforum sollte sich jemand finden, der das anhand meiner Beschreibung kann.
     
  7. krysis163

    krysis163 New Member

    Registriert seit:
    17. Januar 2020
    Beiträge:
    1
    Zustimmungen:
    0
    Hi
    Ich habe dieses rounding auf dem Hook “raw_woocommerce_price” bei mir eingesetzt.
    Ich hatte auch mit "woocommerce_calculated_total" probiert, aber das greift ja nur auf das Cart-Total und nicht auf den Produkt-Einzelpreis und nicht auf die Produkt-Zwischensumme.

    Jedenfalls hat sich jetzt aber gezeigt, dass dies immer nur für die einzelnen Positionen funktioniert.
    Intern wird weiter mit den realen ungerundeten Werten gerechnet.

    1. Summe bei grossen Qty:
    Wenn eine grosse Menge eines Produktes bestellt wird merkt man, dass die Summe zwar auf 5 Rappen gerundet ist, aber nicht die Summe aus X * dem gerundeten Einzelpreis ist.
    2. Warenkorbsumme stimmt nicht.
    Bei vielen Positionen erkennt man, dass auch hier die ungerundeten Einzelpositionen addiert und dann erst gerundet wird.
    3. Die an Stripe übermittelte Summe ist ungerundet.
    4. Mit Export-Plugins exportierte Orders haben auch die ungerundeten Werte.

    Dieser Hook wirkt also augenscheinlich nur auf den Output jeder einzelnen Position.

    Mein momentaner Workaround:
    Wir runden auf eine Dezimalstelle. Das kann Woocommerce in den Settings.
    Den Schönheitsfehler, das dann die zweite Dezimalstelle nicht angezeigt wird beheben wir mit eben diesem Hook.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden