Oferta SiteGround Black Friday

Cómo aplicar descuentos en porcentaje rápidamente a los productos sin tener que andar haciendo cálculos matemáticos y esas mierdas

Como ya sabrás, ¿por que lo sabes verdad?, crear una oferta, o descuento, en WooCommerce es muy sencillo, solo tienes que poner el precio normal del producto y, a continuación, el precio rebajado.

Así, si quieres que un producto tenga un 15% de descuento, y vale 50 euros, el precio rebajado sería de … un momento … 50 por 0,15 es 7,5, menos los 50 euros iniciales, eso ¡42,5 euros!

precio rebajado woocommerce

Bueno, no es tan fácil, a veces, así que ¿y si añadimos a la caja de datos del producto un desplegable que nos ayude a aplicar rápidamente, y sobre todo sin tener que repasar las matemáticas de primaria, descuentos a los productos?

Que mucha inteligencia artificial pero ¿no iremos a desaprovechar la que ya tenemos disponible, ,no?

Vamos a ello porque es muy fácil, solo tienes que crear una función personalizada, que ya sabrás cómo copiar y pegar para que funcione, para mostrar el desplegable de los descuentos rápidos aplicables, tal que así…

/* Desplegable con porcentajes de descuento para productos */
add_action( 'woocommerce_product_options_pricing', 'ayudawp_porcentajes_descuento' );
function ayudawp_porcentajes_descuento() {
global $product_object;
woocommerce_wp_select(
array(
'id' => '_pc_discount',
'value' => get_post_meta( $product_object->get_id(), '_pc_discount', true ),
'label' => '% de descuento',
'options' => array(
'0' => '0',
'10' => '10',
'15' => '15',
'25' => '25',
'50' => '50',
),
)
);
}
add_action( 'save_post_product', 'ayudawp_guardar_porcentaje_descuento' );
function ayudawp_guardar_porcentaje_descuento( $product_id ) {
global $typenow;
if ( 'product' === $typenow ) {
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
if ( isset( $_POST['_pc_discount'] ) ) {
update_post_meta( $product_id, '_pc_discount', $_POST['_pc_discount'] );
}
}
}
add_filter( 'woocommerce_get_price_html', 'ayudawp_cambiar_precio_mostrado', 9999, 2 );
function ayudawp_cambiar_precio_mostrado( $price_html, $product ) {
if ( is_admin() ) return $price_html;
if ( '' === $product->get_price() ) return $price_html;
if ( get_post_meta( $product->get_id(), '_pc_discount', true ) && get_post_meta( $product->get_id(), '_pc_discount', true ) > 0 ) {
$orig_price = wc_get_price_to_display( $product );
$price_html = wc_format_sale_price( $orig_price, $orig_price * ( 100 - get_post_meta( $product->get_id(), '_pc_discount', true ) ) / 100 );
}
return $price_html;
}
add_action( 'woocommerce_before_calculate_totals', 'ayudawp_cambiar_precio_carrito', 9999 );
function ayudawp_cambiar_precio_carrito( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;
if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 ) return;
foreach ( $cart->get_cart() as $cart_item_key => $cart_item ) {
$product = $cart_item['data'];
if ( get_post_meta( $product->get_id(), '_pc_discount', true ) && get_post_meta( $product->get_id(), '_pc_discount', true ) > 0 ) {
$price = $product->get_price();
$cart_item['data']->set_price( $price * ( 100 - get_post_meta( $product->get_id(), '_pc_discount', true ) ) / 100 );
}
}
}

Ni te preocupes, mucho código pero es solo copiar y pegar, y mira que bien queda…

desplegable porcentaje descuento woocommerce

Y no es solo un desplegable mono, que se ve en el editor de productos, lo bueno es que te hace el cálculo del porcentaje de descuento y lo muestra en la página del producto, en el carrito, en todas partes.

¡Y la de cálculos matemáticos que te ahorras!

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 7

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

2 comentarios en “Cómo aplicar descuentos en porcentaje rápidamente a los productos sin tener que andar haciendo cálculos matemáticos y esas mierdas”

  1. Excelente tío Fernado como siempre, pero y si voy un paso más allá y deseo que la lista de % de descuentos no sea cerrada, sin que deseo poner un campo numérico y allí asignar el valor del % de descuento que deseo, por ejemplo el 12% ¿se puede hacer?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio