Avisos
Vaciar todo

Plugin para mostrar porcenaje de descuento en ficha de producto en Woocommerce

5 Respuestas
3 Usuarios
0 Reactions
55 Visitas
Respuestas: 24
Eminent Member
Topic starter
 

Hola.

Me gustaría mostrar el porcentaje de descuento de cada producto, tanto en la ficha de producto como en la vista de categoría.

¿Conocéis algún plugin que lo haga?

De no haber ninguno, ¿cuál será la manera de hacer por código?

Un saludo.

URL del sitio: Contenido solo visible a usuarios registrados


 
Respondido : 03/09/2019 1:40 am
Bulmaro
Respuestas: 4380
Famed Member Moderator
 

Hola José,

Prueba con el plugin YITH WooCommerce Badge Management -> Enlace

Saludos.


 
Respondido : 03/09/2019 2:02 am
Respuestas: 24
Eminent Member
Topic starter
 

Hola.

Sí, ese plugin está bastante bien, lo que pasa es que yo quería colocar este "porcentaje de descuento" al lado del precio, parecido a como lo hace Prestashop (adjunto captura).

Con un plugin similar he colocado una label en la imagen de producto pero me gustaría más lo que te comento, que apareciera cerca del precio. (adjunto otra captura).

Un saludo.


 
Respondido : 03/09/2019 6:48 pm
Pepe
 Pepe
Respuestas: 41115
Illustrious Member Admin
 

Hola José.

Edita el archivo functions.php que encontraras en wp-conten -> themes -> tu_palntilla
.- Añade lo siguiente al final del archivo:

// Muestra el porcentaje de descuento en lugar de la etiqueta "¡Oferta!"
add_filter( 'woocommerce_sale_flash', 'show_discount_percentage_instead_of_sale_flash', 10, 3 );
function show_discount_percentage_instead_of_sale_flash( $text, $post, $product ) {

    if( $product->get_type() == 'variable' ){

        $regular_price = $product->get_variation_regular_price( 'max' );
        $sale_price = $product->get_variation_sale_price( 'min' );
    }else{
        
        $regular_price = $product->get_regular_price();
        $sale_price = $product->get_sale_price();
	}
	
	if ( $regular_price && $sale_price ) {
		
		$percentage = round( ( ( $regular_price - $sale_price ) / $regular_price ) * 100 );
		$text = ''. __(' Ahorras un ', 'woocommerce' ). $percentage . '%';
	}

    return $text;
}

El resultado es el siguiente:

Un saludo


 
Respondido : 03/09/2019 7:29 pm
Respuestas: 24
Eminent Member
Topic starter
 

Muchísimas gracias.

Voy a probarlo y si tengo alguna duda ya os digo.

Un saludo 🙂


 
Respondido : 05/09/2019 11:14 am