Kortingspercentage tonen in sale badge WooCommerce

De standaard sale badge van WooCommerce toont alleen -x%.

Met deze snippet in je functions.php van je thema of in de Code Snippets plugin kun je hier een tekst aan toevoegen als ‘bespaar’ of ‘korting’.

/** show saved % in sale badge */
add_filter( ‘woocommerce_sale_flash’, ‘add_percentage_to_sale_badge’, 20, 3 );
function add_percentage_to_sale_badge( $html, $post, $product ) {
if( $product->is_type(‘variable’)){
$percentages = array();

// Get all variation prices
$prices = $product->get_variation_prices();

// Loop through variation prices
foreach( $prices[‘price’] as $key => $price ){
// Only on sale variations
if( $prices[‘regular_price’][$key] !== $price ){
// Calculate and set in the array the percentage for each variation on sale
$percentages[] = round(100 – ($prices[‘sale_price’][$key] / $prices[‘regular_price’][$key] * 100));
}
}
// We keep the highest value
$percentage = max($percentages) . ‘%’;
} else {
$regular_price = (float) $product->get_regular_price();
$sale_price = (float) $product->get_sale_price();

$percentage = round(100 – ($sale_price / $regular_price * 100)) . ‘%’;
}
return ‘<span class=”onsale”>’ . $percentage . ” . esc_html__( ‘ KORTING’, ‘woocommerce’ ) . ‘</span>’;
}

Ga naar de bovenkant