Świnicki w Sieci

Wyświetl procentowy rabat na stronie sklepu

Domyślnie Woocommerce pokazuję plakietkę „wyprzedaż” lub „promocja” na stronie naszego sklepu. Taką plakietkę możemy oczywiście całkowicie usunąć lub dostosować jej wygląd wedle własnego uznania. Jednak nie na tym dziś się skupimy.

Ciekawym rozwiązaniem jest zamienić standardowy napis informujący o promocji na wyświetlany, procentowy rabat na stronie sklepu przy danym produkcie.

PS. Przy okazji zachęcam do skorzystania z promocji u Kondzia na e-book ” Zabójczy Widok ” z okazji BlackFriday. >> Kliknij tutaj <<

Żeby uzyskać efekt znajdujący się powyżej, pierw musimy dodać krótki kod PHP, a następnie wystylizować go za pomocą CSS.

add_action( 'woocommerce_before_shop_loop_item_title', 'pokarz_procentowy_rabat', 25 );
function pokarz_procentowy_rabat() {
global$product;
if( ! $product->is_on_sale() ) return;
if( $product->is_type( 'simple') ) {
$max_percentage= ( ( $product->get_regular_price() - $product->get_sale_price() ) / $product->get_regular_price() ) * 100;
} elseif( $product->is_type( 'variable') ) {
$max_percentage= 0;
foreach( $product->get_children() as$child_id) {
$variation= wc_get_product( $child_id);
$price= $variation->get_regular_price();
$sale= $variation->get_sale_price();
if( $price!= 0 && ! empty( $sale) ) $percentage= ( $price- $sale) / $price* 100;
if( $percentage> $max_percentage) {
$max_percentage= $percentage;
}
}
}
if( $max_percentage> 0 ) echo"<div class='sale-perc'>-". round( $max_percentage) . "%</div>";
}

Oczywiście powyższy kod umieszczamy w pliku functions.php. Jak już to wykonaliśmy, kolejno musimy dodać krótki kod CSS, który w moim przypadku wygląda tak:

.sale-perc {
background-color: #D9534F;
display: inline;
padding: .2em .6em .3em;
font-size: 20px;
font-weight: bold;
color: #fff;
text-align: center;
border-radius: .25em;
font-family:montserrat;
}

Oczywiście kod można zmodyfikować indywidualnie pod siebie.

CHCESZ BYĆ NA BIEŻĄCO?

ZAPISZ SIĘ DO MOJEGO NEWSLETTERA
JUŻ DZIŚ.

[activecampaign]

Uzupełnienie powyższego pola stanowi zgodę na otrzymywanie od ŚWINICKI W SIECI z siedzibą w Zgorzelcu newslettera zawierającego treści informacyjne, marketingowe dotyczące portalu www.swinickiwsieci.pl. Zgodę można wycofać w każdym czasie. Wycofanie zgody nie ma wpływu na zgodność z prawem przetwarzania dokonanego przed jej wycofaniem.