Ako zobraziť percentuálnu zľavu vo WooCommerce (napr. -30%)

Napísal Marián Kohn, WordPress programátor

Čo tento snippet robí

WooCommerce štandardne zobrazuje len text „Zľava“.
Tento kód zobrazí konkrétne percento zľavy (napr. -25%).

Funguje:

  • pre simple produkty
  • aj pre variable produkty (vyberie najvyššiu zľavu)

Spoľahlivá tvorba a správa webstránok

Hľadáte spoľahlivého dodávateľa webovej stránky či internetového obchodu? Sme tu pre vás.

Chcem viac informácií

Kód

Vlož do functions.php alebo vlastného pluginu:

add_filter( 'woocommerce_sale_flash', function( $html, $post, $product ) {    if ( ! $product instanceof WC_Product ) {
$product = wc_get_product( $post->ID );
} if ( ! $product ) {
return $html;
} $percentage = 0; if ( $product->is_type( 'variable' ) ) {
foreach ( $product->get_children() as $child_id ) {
$variation = wc_get_product( $child_id ); if ( ! $variation ) {
continue;
} $regular = (float) $variation->get_regular_price();
$sale = (float) $variation->get_sale_price(); if ( $regular > 0 && $sale > 0 && $sale < $regular ) {
$current_percentage = (int) round( ( ( $regular - $sale ) / $regular ) * 100 ); if ( $current_percentage > $percentage ) {
$percentage = $current_percentage;
}
}
}
} else {
$regular = (float) $product->get_regular_price();
$sale = (float) $product->get_sale_price(); if ( $regular > 0 && $sale > 0 && $sale < $regular ) {
$percentage = (int) round( ( ( $regular - $sale ) / $regular ) * 100 );
}
} return $percentage > 0
? '<span class="onsale">-' . esc_html( $percentage ) . '%</span>'
: $html;}, 10, 3 );

Kam to vložiť

  • functions.php (child theme)
    alebo ideálne:
  • vlastný mini plugin

Čo otestovať

  • simple produkt so zľavou
  • variable produkt (rôzne varianty)
  • archive (shop, kategórie)
  • detail produktu

Tip (CSS)

Ak chceš badge zvýrazniť:

.onsale {
background: #FD2307;
color: #fff;
font-weight: bold;
}

Pozor

  • ak má produkt nulovú cenu → nič sa nezobrazí
  • ak používaš custom theme → môže mať vlastný sale badge

Záver

Malý zásah, ale veľký efekt na konverzie.
Zákazník okamžite vidí hodnotu zľavy — nemusí počítať.

Marián Kohn – WordPress a WooCommerce developer

O autorovi

Volám sa Marián Kohn a pomáham firmám riešiť technické problémy na WordPress a WooCommerce weboch.

Špecializujem sa na opravy spadnutých webov, výkon, bezpečnosť a riešenie chýb, ktoré brzdia biznis.

Keď WordPress zlyhá, zasahujem.

Potrebujete pomoc? Ozvite sa

Vložiť komentár