Woocommerce 1.4 mit deutschen Steuerinformationen

Seit der Version 1.4 gibt es bei WooCommerce ein Problem mit meinem Hook zur Anzeige der Steuer auf der Produktseite.
Da die Entwickler die Steuerverwaltung überarbeitet haben funktioniert der Hook nicht mehr.

Die Lösung ist wie folgt:


</del>
<del>add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_pp', 10);</del>

<del>function woocommerce_template_single_pp() {</del>

<del>global $product;</del>

<del>$_tax = new WC_Tax();</del>

<del>$rates = $_tax->get_rates( $product->get_tax_class() );</del>

<del>if (!isset($rates[0]['rate'])) return;</del>
<del> ?></del>

<del>(inkl <!--?php echo round($rates[0]['rate']); ?-->% Mwst. und zzgl. <a href="<?php bloginfo('url'); ?>/kauf-und-lieferbedingungen/">Versandkosten</a>)</del>

<del><!--?php <br ?--></del>
<del>}</del>
<del>

Florian Krüper hat den Hook für die aktuelle Version 1.4.4 angepasst, so dass der jeweils zugeordnete Steuersatz verwendet wird. Vielen Dank dafür

Features:

  • Anzeige des MwSt.-Satzes auf der Produktdetailseite
  • Gibt den für das einzelne Produkt hinterlegten MwSt.-Satz aus (funktioniert auch bei mehreren Sätzen, z. B. 7%, 19%, MwSt.-befreit)
  • Bei 0% MwSt. alternative Textausgabe: “mehrwertsteuerbefreit”
  • FailSafe, für den Fall, dass kein MwSt.-Satz ermittelt werden kann wird “inkl. 19% Mwst.” ausgegeben.

add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10);

function woocommerce_template_single_price() {

//Anpassungen
$mehrwertsteuerBefreit     = "Mehrwertsteuerbefreit";                                    //Text wird angezeitg, wenn MwSt. = 0%
$failSafe                 = "inkl. 19% MwSt.";                                        //Text wird angezeigt, wenn Ausgabe der MwSt fehlschlägt (z.B. wegen eines Updates)
$versandText             = "<br>Innerhalb Deutschlands, versandkostenfrei<br>";         //Text zum Versand. Optional. Wird vor dem Link angezeigt. Optional.
$versandLink             = "http://blogDomain.de/versandbedingungen";                //Absoluter (!) Link zu Versandbedingungen. Optional.
$versandLinkText         = "Versandbedingungen";                                        //Verlinkter Text für Versandbedingungen. Optional.

/*-------------- Unterhalb dieser Zeile sollte nichts angepasst werden müssen --------------*/
global $product;

//Preis anzeigen
woocommerce_get_template('single-product/price.php');

//MwSt.-Satz für Produkt raussuchen
$_tax = new WC_Tax();
$rates = array_shift($_tax->get_rates( $product->get_tax_class() ));

//Den zugewiesenen MwSt-Satz anzeigen
if (isset($rates['rate'])) {
if ($rates['rate'] == 0) {
//Alternativtext, wenn 0% MwSt.
echo "<p>".$mehrwertsteuerBefreit;
} else {
echo "<p>inkl. ".round($rates['rate'])."% MwSt. ";
}
} else {
//FailSafe: Wenn irgendetwas schiefgeht, besser das anzeigen, als gar nichts.
echo $failSafe;
}

// Angaben zu Versandkosten (Anm.: Hier könnte man auch automatisch die jeweiligen Versandkosten auslesen. So ist es aber einfacher und wird in den meißten Fällen genügen)
echo $versandText;
echo "<a href=\"".$versandLink."\">".$versandLinkText."</a></p>";
?>
<?php
}

,

About Torsten Jerschabek

Guten Tag. Mein Name ist Torsten und ich bin Webdesigner und Online Marketer bei Passau Webdesign. Ich mag es neue Ideen und Projekte zu entwickeln. Das Internet hat Platz für jede Idee.

21 Antworten auf “Woocommerce 1.4 mit deutschen Steuerinformationen”

  1. Freetagger 2. Februar 2012 at 17:24 # Antworten

    Danke dir ;)

  2. user54 10. Februar 2012 at 11:18 # Antworten

    Hallo,

    vielen dank für diesen Hook!

    Ein Problem hätte ich aber noch:

    Der Standard Mehrwertsteuersatz wird auf der Produktbeschreibung angezeigt, aber sofern der Mehrwertsteuersatz abweicht wird diese nicht mehr dargestellt?

    Kann man da was machen?

    Gruß, user54

  3. Florian 19. Februar 2012 at 00:41 # Antworten

    Hallo!

    Erstmal vielen Dank für den Hook!

    Nach Update auf woocommerce 1.4.4 heute funktionierte die MwSt-Ausgabe bei mir nicht mehr.

    Mit diesen Änderungen geht es bei mir jetzt wieder:

    8get_rates( $product->get_tax_class() );

    if (!isset($rates[1]['rate'])) return;

    ?>

    (inkl. % MwSt. und zzgl. <a href="/kauf-und-lieferbedingungen/”>Versandkosten)<?php

    }
    8<- – -

    Ansonsten alles wie gehabt.

    Gruß
    Florian

  4. Ralph 23. Februar 2012 at 19:08 # Antworten

    Hallo

    Muss mich auch mal für den tollen Hook bedanken.
    Bin gerade am aufbauen des Shops und der Einpflegung der Produkte.
    Da kam mir diese Lösung gerade Recht.

    Einen Nachteil habe ich aber jetzt irgendwie schon kennengelernt.
    Wie bekomme ich die kpl. Produkte hinein (Import), jedes Produkt mit der Hand einpflegen ist aber auch mühselig.
    Bis jetzt keine Importfunktion dafür gefunden (sehe ich vielleicht den Wald vor lauter Bäumen nicht)?
    Bei Gutscheinen kann ich leider keine Nummer eintragen, nur pauschal.

    Falls einer Tips hat, nehme ich die gerne an.

    thx

  5. Ralph 2. März 2012 at 08:29 # Antworten

    Habs gerade getestet, der Hook funktioniert noch mit 1.5

    Was nur kurios ist, man kann nicht unterschiedliche Portokosten im Kassenbereich definieren. Nimmt immer nur die billigste Variante, trotz unterschiedlicher Anlegung (Päckchen kostet “x” – Paket kostet “y”)

  6. Sven 9. März 2012 at 21:28 # Antworten

    Hallo zusammen,

    habe leider mein woo commerce auf 1.5.1 geupdatet und da funktioniert es leider gar nicht. Da ich aber noch dazu mittlerer Neuling in woo commerce bin, könnte ich mir auch vorstellen, daß ich einfach zu doof bin es an die richtige Stelle zu bringen. Wäre auch über telefonischen Support sehr, sehr dankbar.

    Dann habe ich noch eine Frage: gibt es ne Möglichkeit auch den Vergleichspreis anzeigen zu lassen? Bei flüssigen Produkten ist dieser ja laut PaV nötig. Also 100ml kosten xy…???

    Wäre um jeden Rat wirklich sehr sehr dankbar…

    LG
    Sven

    • Ralph 16. März 2012 at 08:50 # Antworten

      Hallo Sven

      Hab den hook gerade eben in 1.5.2 implementiert und es funktioniert.

      Habe nur Probleme mit dem SSL, dies bekomme ich leider nicht zum laufen.

      Gruß

      Ralph

  7. Ralph 23. März 2012 at 19:35 # Antworten

    So muss nun sagen, das bei mir der Hook auch nicht mehr funktioniert, was natürlich sehr schade ist.

    Wenn jemand wieder einen neuen Hook besitzt, wäre es nett wenn ich bescheid bekommen könnte.

    Thx

    Ralph

  8. Rene 6. April 2012 at 11:15 # Antworten

    Danke für den Code! Perfekt für den späteren Shop, an dem ich gerade arbeite :-)

    Gibt es evtl auch die Möglichkeit den MwSt/VSk Hinweis bereits in der Produktliste unter dem Thumbnail unterzubringen? Schließlich befindet sich da bereits ein “Add to cart” Button. Würde diesen gern für schnelle Einkäufe behalten, nur dazu muss natürlich der Hinweis ebenso im Produktbrowser platziert sein.

  9. owcv 2. Mai 2012 at 13:29 # Antworten

    Es wäre sicherlich hilfreich, würde man dies in den offiziellen WooCommerce-Foren kommunizieren:

    http://wordpress.org/tags/woocommerce?forum_id=10

    Dann könnten die Macher vielleicht darauf reagieren und bauen das als Bestandteil mit ins Plugin. ;-)

    • Torsten Jerschabek 16. Mai 2012 at 15:34 # Antworten

      Die Macher versuchen das Plugin global zu gestalten. Deutsche Anpassungen werden leider nicht berücksichtigt.

  10. noodles 29. Mai 2012 at 23:29 # Antworten

    Hallo Leute,

    super geil der Code – nur leider funktioniert er bei mir nicht (wooCommerce 2.0).
    Stimmt es, dass ich den Code, unterhalb des “End Theme Load Functions….” einfügen muss?

    Vorab lieben Dank für Euren support…

    Der noodles

    • Torsten Jerschabek 17. Juli 2012 at 08:23 # Antworten

      Du musst den Hook in der functions.php einfügen

  11. andreas 26. Juni 2012 at 15:17 # Antworten

    Hallo,

    toller Hook, funktioniert bei der Seite, die ich gerade bastle 1a!

    gibt es eigentlich eine Möglichkeit, die Lieferzeiten abhängig vom Warenbestand unter dem MwSt.-Hinweis anzeigen zu lassen, z.B bei Bestand 100->”sofort lieferbar” und bei Bestand=0 ->”Lieferzeit: 1-2 Wochen”

    Muss glaub ich auch in einen deutschen Shop rein. Oder gibt es da ein Plug-In, von dem ich noch nichts gehört habe. Im WC-Forum find ich dazu nix.

  12. JanJanJan 13. August 2012 at 15:55 # Antworten

    Hi zusammen,

    zunächst ein dickes Dankeschön für das Workout. Ich habe die aktuellen Installationen von wordpress, woocommerce und der .de – Sprachatei(en/), jedoch bekomme ich, obwohl bei Produkten (egal ob Einzelartikel oder Variante) alle Informationen eingepflegt sind, keine Preisanzeige auf der Produktdetailseite. Wenn ja, wie habt ihr das hinbekommen?

    Viele Grüße
    Jan

  13. JanJanJan 13. August 2012 at 19:12 # Antworten

    Hi,

    wie habt ihr eigentlich das Thema Lieferschein-, Kunden- und Rechnungsnummern gelöst? Gibt es dafür plugin(s) oder via Datenbank-Erweiterung? Bestellnummer wird ja bereits automatisch vergeben.

    Viele Grüße
    Jan

  14. Rudi 5. September 2012 at 18:36 # Antworten

    @ noodles hast du dich vertan oder bist du der Zeit voraus ( woocommerce 2.0 ) ?? Die sind doch erst bei Version1,6……

    Leider funktioniert kein Hook mehr weder Mwst noch der für Versandkosten !

    Gibt es was neues oder einer einen Tip wie ich was machen kann ??

  15. Marc 22. November 2012 at 16:53 # Antworten

    Letzteres würde mich auch interessieren! :-)

  16. Caroline 13. Dezember 2012 at 20:45 # Antworten

    Hallo,

    habe versucht den Hook zu installieren. Scheint leider für Version 1.6.5.2 nicht zu fiunktionieren. Version 1.6.6 ist auch schon unterwegs.

    Gibt es da eine Lösung? Würde mich über eine Antwort sehr freuen!

    Vielen Dank!

  17. Daniel 14. Dezember 2012 at 22:52 # Antworten

    Hallo,
    danke schon einmal für den Hook für die AGB-Zustimmen-Checkbox. Hier wäre meine Frage wie man diese Checkbox direkt über den “Kostenpflichtig bestellen”-Button bekommt.

    Zu diesem Hook mit dem MwSt.-Hinweis habe ich das Problem, dass ich beim Einfügen des Hooks folgenden Fehler erhalte:

    Fatal error: Cannot redeclare woocommerce_template_single_price() (previously declared in functions.php:226) in /functions/lib/pix_woocommerce.php on line 1032

    Ich finde allerdings das Problem nicht. Eine Idee?

    Vielen Dank!
    Daniel

  18. Enrico 29. Januar 2013 at 15:54 # Antworten

    Super Tutorial.
    Weißt Du auch wie man abfragen kann ob es sich um ein virtuelles oder ein normales Produkt handelt? Das wäre echt super weil man dann je nach Art des Produkts den Link mit dem Versandtext anpassen könnte

Hinterlasse eine Antwort