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
}



Danke dir
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
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
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
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”)
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
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
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
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.
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.
Die Macher versuchen das Plugin global zu gestalten. Deutsche Anpassungen werden leider nicht berücksichtigt.
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
Du musst den Hook in der functions.php einfügen
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.
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
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
@ 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 ??
Letzteres würde mich auch interessieren!
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!
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
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