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:

[sourcecode language="plain"]</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>[/sourcecode]

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.

[sourcecode]

add_action( ‚woocommerce_single_product_summary‘, ‚woocommerce_template_single_price‘, 10);

function woocommerce_template_single_price() {

$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.


global $product;

woocommerce_get_template(’single-product/price.php‘);

$_tax = new WC_Tax();
$rates = array_shift($_tax->get_rates( $product->get_tax_class() ));

if (isset($rates[‚rate‘])) {
if ($rates[‚rate‘] == 0) {
echo "<p>".$mehrwertsteuerBefreit;
} else {
echo "<p>inkl. ".round($rates[‚rate‘])."% MwSt. ";
}
} else {
echo $failSafe;
}

echo $versandText;
echo "<a href="".$versandLink."">".$versandLinkText."</a></p>";
?>
<?php
}

[/sourcecode]