Avisos
Vaciar todo

subtotal con descuento en el Order Details

4 Respuestas
3 Usuarios
0 Reactions
13 Visitas
Respuestas: 41
Eminent Member
Topic starter
 

Hola, gracias a Karen Ríos nos facilitó un código para hacer que saliese un subtotal del precio de todos los productos menos el código descuento, tanto en la cart como en el checkout.

Es este código:

// Hook para mostrar el subtotal con descuento en el carrito y en la página de finalización de la compra
add_action( 'woocommerce_cart_totals_before_shipping', 'web_foro_display_subtotal_after_coupon' );
add_action( 'woocommerce_review_order_before_shipping', 'web_foro_display_subtotal_after_coupon' );

function web_foro_display_subtotal_after_coupon() {
global $woocommerce;

/* Verificar si se ha aplicado algún cupón */
if ( ! empty( $woocommerce->cart->applied_coupons ) ) {
// Obtener el subtotal de los productos antes de aplicar el cupón
$products_subtotal_before_coupon = $woocommerce->cart->get_subtotal();

/* Obtener el descuento total aplicado por el cupón */
$coupon_discount = $woocommerce->cart->get_cart_discount_total();

/* Calcular el subtotal de los productos después de aplicar el cupón */
$products_subtotal_after_coupon = $products_subtotal_before_coupon - $coupon_discount;

/* Mostrar el subtotal de los productos después de aplicar el cupón */
?>
<tr class="subtotal-row-coupon">
<th><?php _e( 'Subtotal con descuento (excluyendo impuestos y envío)', 'woocommerce' ); ?></th>
<td><?php echo wc_price( $products_subtotal_after_coupon ); ?></td>
</tr>
<?php
}
}

Mi pregunta ahora es si es posible hacer que salga también justo al finalizar el pedido,  en la zona Order Details  (adjunto captura)

muchas gracias de antemano,  un saludo!

Contenido solo visible a usuarios registrados


 
Respondido : 28/03/2024 9:09 am
Respuestas: 18643
Soporte CMS Webempresa
 

Hola Anateres, 

En este caso no estoy segura funcione y tal vez requieras un codigo muy personalizado, puedes probar con el siguiente codigo

add_action( 'woocommerce_cart_totals_before_shipping', 'web_foro_display_subtotal_after_coupon' );
add_action( 'woocommerce_review_order_before_shipping', 'web_foro_display_subtotal_after_coupon' );
add_action( 'woocommerce_order_details_after_order_table', 'web_foro_display_subtotal_after_coupon' );

function web_foro_display_subtotal_after_coupon() {
global $woocommerce;

/* Verificar si se ha aplicado algún cupón */
if ( ! empty( $woocommerce->cart->applied_coupons ) ) {
// Obtener el subtotal de los productos antes de aplicar el cupón
$products_subtotal_before_coupon = $woocommerce->cart->get_subtotal();

/* Obtener el descuento total aplicado por el cupón */
$coupon_discount = $woocommerce->cart->get_cart_discount_total();

/* Calcular el subtotal de los productos después de aplicar el cupón */
$products_subtotal_after_coupon = $products_subtotal_before_coupon - $coupon_discount;

/* Mostrar el subtotal de los productos después de aplicar el cupón */
?>
<tr class="subtotal-row-coupon">
<th><?php _e( 'Subtotal con descuento (excluyendo impuestos y envío)', 'woocommerce' ); ?></th>
<td><?php echo wc_price( $products_subtotal_after_coupon ); ?></td>
</tr>
<?php
}
}

En Caso de que no lo añada te recomiendo consultes con nuestro directorio de colaboradoresquienes pueden ayudarte a añadir lo que necesitas. 

Un Saludo 


 
Respondido : 28/03/2024 2:20 pm
Respuestas: 41
Eminent Member
Topic starter
 

Hola @karen 🙂  ante todo muchísimas gracias por toda la ayuda que nos brindas siempre.

Este último código no ha conseguido pintar el nuevo subtotal en la zona de order details

Entiendo que hemos añadido la línea de

add_action( 'woocommerce_order_details_after_order_table', 'web_foro_display_subtotal_after_coupon' );

 

en la que 'woocommerce_order_details_after_order_table' debe ser el supuesto nombre de la tabla en la que tendría que pintar el subtotal, no?

Lo digo para poder contratar un programador y explicarle que solamente se necesita buscar eso, y que el resto está funcionando bien. Supongo que debe ser un tema de versiones de WooCommerce, y en unas versiones esa zona de esa tabla se llamará así, y si nosotros tenemos otra versión u otra plantilla (tiene el theme Avada esta web)  igual esa zona se llama diferente, verdad?

muchas gracias


 
Respondido : 02/04/2024 3:12 pm
Bruno
Respuestas: 6459
Soporte CMS Webempresa
 

Que tal Anatares,

en la que 'woocommerce_order_details_after_order_table' debe ser el supuesto nombre de la tabla en la que tendría que pintar el subtotal, no?

En este caso se hace es referencia al hook llamado "woocommerce_order_details_after_order_table" el cual se le desea aplicar una función o mostrar un contenido en concreto

Si deseas saber mas al respecto y tener contexto al momento de hacer una solicitud a algun programador puedes consultar la siguiente documentación

- https://woo.com/document/introduction-to-hooks-actions-and-filters/
- https://woocommerce.github.io/code-reference/hooks/hooks.html

Tengo entendido ya mi compañera te ha remitido a nuestros colaboradores, que con gusto estoy seguro podrán ver tu caso a detalle

- https://www.webempresa.com/directorio-colaboradores.html

Saludos!


 
Respondido : 02/04/2024 3:39 pm