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.php
e cartella-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.
Salve ho provato ad aggiungere la percentuale di sconto sulla immagine del prodotto ma oltre ad aggiungerla rimane sotto la scritta Offerta.
Pingback: Aggiungere la percentuale di sconto sopra il prezzo WooCommerce • LAbDesign80.it