Mostrare la percentuale di sconto sull’immagine WooCommerce

Mostrare la percentuale di sconto sull'immagine WooCommerce

In WooCommerce, quando un prodotto è in sconto, solitamente sull’immagine del prodotto viene visualizzata la scritta “Sale” (Offerta).

Per modificare questa scritta, potrebbe essere interessante e più efficace impostare la visualizzazione della percentuale di sconto applicata.

Per fare questo occorre intervenire sul codice modificando il file functions.php

Metodo 1

/**
Mostra la percentuale nella singola pagina prodotto e in archivio
WC 2.6.14, WP 4.7.2, PHP 5.5.9
*/

add_action( 'woocommerce_before_single_product_summary', 'labdesign80_show_sale_percentage', 25 );
add_action( 'woocommerce_before_shop_loop_item_title', 'labdesign80_show_sale_percentage', 25 );

function labdesign80_show_sale_percentage() {
global $product;
if ( $product->is_on_sale() ) {
if ( ! $product->is_type( 'variable' ) ) {
$max_percentage = round( ( ( $product->regular_price - $product->sale_price ) / $product->regular_price ) * 100 );
} else {
foreach ( $product->get_children() as $child_id ) :
$variation = $product->get_child( $child_id );
$price = $variation->get_regular_price();
$sale = $variation->get_sale_price();
$percentage = $price != 0 && ! empty( $sale ) ? ( ( $price - $sale ) / $price * 100 ) : $max_percentage;
if ( $percentage >= $highest_percentage ) :
$max_percentage = $percentage;
$regular_price = $product->get_variation_regular_price( 'min' );
$sale_price = $product->get_variation_sale_price( 'min' );
endif;
endforeach;
}
echo apply_filters( 'woocommerce_sale_flash', '<span class="onsale">-' . round($max_percentage) . '%</span>', $post, $product );
}
}

Potrebbe interessarti anche => Aggiungere la percentuale di sconto sopra il prezzo WooCommerce

Non eseguire modifiche ai file se non sei sicuro di quello che stai facendo. Lascia fare ad un professionista per non rischiare di compromettere il tuo sito web.

Metodo 2

Modifichiamo i file cartella-del-tema/woocommerce/loop/sale-flash.phpcartella-del-tema/woocommerce/single-product/sale-flash.php

aggiungendo il seguente codice:

<?php
/**
* Product loop sale flash
*
* @author WooThemes
* @package WooCommerce/Templates
* @version 1.6.4
*/

if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}

global $post, $product;

?>

<?php
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
global $post, $product;
if ( ! $product->is_in_stock() ) return;
$sale_price = get_post_meta( $product->id, '_price', true);
$regular_price = get_post_meta( $product->id, '_regular_price', true);
if (empty($regular_price)){ //then this is a variable product
$available_variations = $product->get_available_variations();
$variation_id=$available_variations[0]['variation_id'];
$variation= new WC_Product_Variation( $variation_id );
$regular_price = $variation ->regular_price;
$sale_price = $variation ->sale_price;
}
$sale = ceil(( ($regular_price - $sale_price) / $regular_price ) * 100);
?>
<?php if ( !empty( $regular_price ) && !empty( $sale_price ) && $regular_price > $sale_price ) : ?>
<?php echo
apply_filters( 'woocommerce_sale_flash', '<span class="onsale">-' . $sale . '%</span>', $post, $product );
?>
<?php endif; ?>

Potrebbe interessarti anche => Aggiungere la percentuale di sconto sopra il prezzo WooCommerce

Non eseguire modifiche ai file se non sei sicuro di quello che stai facendo. Lascia fare ad un professionista per non rischiare di compromettere il tuo sito web.

2 commenti su “Mostrare la percentuale di sconto sull’immagine WooCommerce”

  1. Pingback: Aggiungere la percentuale di sconto sopra il prezzo WooCommerce • LAbDesign80.it

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Torna in alto