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 nasenbaer, 8. Juni 2016.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. nasenbaer

    nasenbaer Member

    Registriert seit:
    10. Dezember 2015
    Beiträge:
    10
    Zustimmungen:
    0
    Hallo zusammen

    Habe ein kleines Problem bei einem Webshop. Der Shop hat die Währung CHF und es besteht die Möglichkeit einen Gutscheincode einzugeben (z.B. 11%).
    Die Beträge werden zwar 2-stellig gerundet, aber ich will diese natürlich auf 5 Rappen genau Runden.

    Gibt es irgend eine Lösung dafür? Habe gesehen z.B. via functions.php ... Doch mir fehlt der entsprechende php-Code.

    Danke für eure Hilfe!
     
  2. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.317
    Zustimmungen:
    582
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    quelle
    http://www.pas-solutions.ch/webdesign/mit-php-einen-betrag-auf-5-rappen-runden/
     
  3. nasenbaer

    nasenbaer Member

    Registriert seit:
    10. Dezember 2015
    Beiträge:
    10
    Zustimmungen:
    0
    Danke, habe ich auch schon versucht. Funktioniert leider nicht ...
     
  4. 7eleven

    7eleven New Member

    Registriert seit:
    10. Juni 2016
    Beiträge:
    1
    Zustimmungen:
    0
    Wo muss dieser Code eingefügt werden (functions.php)? Hat jemand eine funktionierende Lösung gefunden?
     
  5. nasenbaer

    nasenbaer Member

    Registriert seit:
    10. Dezember 2015
    Beiträge:
    10
    Zustimmungen:
    0
    Habe eine Lösung gefunden:

    [FONT=&quot]add_filter( 'woocommerce_calculated_total', 'round_price_product', 10, 1);[/FONT]
    [FONT=&quot]function round_price_product( $price ){[/FONT]
    [FONT=&quot] return round(($price + 0.000001) * 20) / 20;[/FONT]
    [FONT=&quot]}

    am Ende in functions.php einfügen
    [/FONT]
     
  6. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Ich würde nicht round verwenden, sondern ceil (oder für geizige Kaufleute floor)

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Mit ceil wird der abzuziehende Betrag immer aufgerundet. Aus 22.87 wird 22.90. Der Kunde bekommt etwas mehr Rabatt.
    Mit floor wird der abzuziehende Betrag immer abgerundet. Aus 22.87 wird also 22.85. Der Kunde bekommt also etwas weniger Rabatt.

    Welche rechtlichen Aspekte zu beachten sind, ist mit einem Anwalt zu klären! Denn zumindest in Deutschland bin ich mir relativ sicher, dass das Abrunden zu Abmahnungen führen könnte, denn wenn 11% Rabatt einen Abzug von 22.87 ergeben aber nur 22.85 abgezogen werden gibt es Stress. Wer hingegen 22.90 anzieht ist auf der sicheren Seite.

    Die Funktion kommt in die functions.php eines Child Themes
     
  7. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Damit wird der Gesamtpreis gerundet inkl. Versand und Gebühren. Und das kaufmännisch, also bis 0.49 ab und ab 0.5 auf.
     
  8. nasenbaer

    nasenbaer Member

    Registriert seit:
    10. Dezember 2015
    Beiträge:
    10
    Zustimmungen:
    0
    Ich würde nicht round verwenden, sondern ceil (oder für geizige Kaufleute floor)

    Code:
    add_filter( 'woocommerce_coupon_get_discount_amount', 'mmx_round_coupon_amount' );
    function mmx_round_coupon_amount( $discount ){

    // round up
    $rounded = ceil( $discount / 0.05 ) * 0.05;

    // round down
    // $rounded = floor( $discount / 0.05 ) * 0.05;

    return $rounded;

    }

    Mit ceil wird der abzuziehende Betrag immer aufgerundet. Aus 22.87 wird 22.90. Der Kunde bekommt etwas mehr Rabatt.
    Mit floor wird der abzuziehende Betrag immer abgerundet. Aus 22.87 wird also 22.85. Der Kunde bekommt also etwas weniger Rabatt.

    Welche rechtlichen Aspekte zu beachten sind, ist mit einem Anwalt zu klären! Denn zumindest in Deutschland bin ich mir relativ sicher, dass das Abrunden zu Abmahnungen führen könnte, denn wenn 11% Rabatt einen Abzug von 22.87 ergeben aber nur 22.85 abgezogen werden gibt es Stress. Wer hingegen 22.90 anzieht ist auf der sicheren Seite.

    Die Funktion kommt in die functions.php eines Child Themes

    -------------

    Hier wird aber etwas grosszügig aufgerundet. z.B. 7.03 wird auf 7.30 gerundet. kann das sein?
     
  9. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Eigentlich nicht. Wie gerundet wird habe ich ja beschrieben.
     
  10. nasenbaer

    nasenbaer Member

    Registriert seit:
    10. Dezember 2015
    Beiträge:
    10
    Zustimmungen:
    0
    Ja, komisch. Habe es soeben getestet und erhalte solche Ergebnisse ...
     
  11. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Bei meinem Test erhalte ich die richtigen Werte.
     
  12. riedere

    riedere Member

    Registriert seit:
    21. April 2018
    Beiträge:
    13
    Zustimmungen:
    0
    hmm etwas unklar...
    Also der gerundete Endbetrag soll auch in der DB (dh Buchhaltung) enthalten sein.
    Ist dem so ?

    Und nochmals bitte - wie und wo genau das einfügen / anwenden ?

    SRI ich bin seit einigen Jahren weg vom Fenster -- also viel vergessen...
     
  13. Sailor56

    Sailor56 Well-Known Member

    Registriert seit:
    13. Juni 2017
    Beiträge:
    794
    Zustimmungen:
    104
    @riedere ... schau mal aufs Datum - dieses Thema ist 2 Jahre alt!
    Wenn du Fragen hast, dann mache bitte ein neues Thema auf.
     
  14. SirEctor

    SirEctor Well-Known Member
    Ehrenmitglied

    Registriert seit:
    28. Oktober 2008
    Beiträge:
    12.361
    Zustimmungen:
    427
    Und deshalb mache ich hier zu.
     
    maxe gefällt das.
Status des Themas:
Es sind keine weiteren Antworten möglich.
  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