Preisersparnis in WooCommerce anzeigen

Preisersparnis in WooCommerce separat ausweisen

WooCommerce kann reduzierte Preise zwar von Haus aus sehr plakativ darstellen, aber wenn man die »Ersparnis« weiter hervorheben möchte, so wie beispielsweise Amazon dies tut, dann kann die Differenz zwischen regulärem und reduzierten Preis auch leicht mit einem Filter dargestellt werden.

Preisersparnis in WooCommerce anzeigen
function show_discount_amount( $html, $product, $price, $qty ) {

  $html = NULL;
  if ( ( is_shop() OR is_product() ) && $product->is_on_sale() ) {
    $discount = wc_price( $product->get_regular_price() - $product->get_sale_price(), array($currency) );
    if ( $discount > 0 ) $html .= '<p class="discount-total">Sie sparen: ' .  $discount . '</p>';
 }

 return $html;
}
add_filter( 'woocommerce_get_price_suffix', 'show_discount_amount', 99, 4 );

Damit der Inhalt nur auf der Shop- und Produktseiten angezeigt wird und nicht andere Funktionen oder Plugins beeinträchtigen kann, wird die Darstellung mit if ( ( is_shop() OR is_product() ) && $product->is_on_sale() ) { auf die gewünschten Seiten begrenzt.

Der eigentliche Betrag wird einfach mit wc_price( $product->get_regular_price() – $product->get_sale_price(), array($currency) ) berechnet und formatiert.