Avisos
Vaciar todo

mostar subtotal tras usar cupón descuento en WooCommerce  

 
Anatares
 Anatares
Usuario eminente

Hola @karen
me precipité en dar por resuelto mi mensaje anterior en el que pedía un código para poder pintar el subtotal del precio de los productos una vez hecho el descuento de los cupones,  y sin contar envío ni impuestos... pero al mirar bien el resultado de la resta

Captura total products

veo que no hace bien el cálculo del subtotal. 

Debería descontar $ 25,80 dólares  y en cambio descuenta muy poco,  deben ser los cálculos que están mal?

Paso captura para que lo veamos. Muchas gracias de nuevo

Contenido solo visible a usuarios registrados

Citar
Respondido : 18/03/2024 9:07 am
Anatares
 Anatares
Usuario eminente

adjunto el código que me facilitó Karen Ríos y que, según la captura en el mensaje de arriba, no acaba de sacar bien el cálculo:

add_action( 'woocommerce_cart_totals_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 antes de aplicar el cupón
$subtotal_before_coupon = $woocommerce->cart->subtotal;

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

/* Calcular el subtotal después de aplicar el cupón*/
$subtotal_after_coupon = $subtotal_before_coupon - $coupon_discount;

/* Mostrar el subtotal después de aplicar el cupón*/
?>
<tr class="subtotal-row-coupon">
<th><?php _e( 'Subtotal con descuento', 'woocommerce' ); ?></th>
<td><?php echo wc_price( $subtotal_after_coupon ); ?></td>
</tr>
<?php
}
}
ResponderCitar
Respondido : 18/03/2024 11:30 am

Cursos Gratuitos WordPress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Antares.

Para que dominio es la consulta ? no veo que tengas ninguna tienda en el dominio adding-plus

 

Un Saludo

ResponderCitar
Respondido : 18/03/2024 11:45 am
Anatares
 Anatares
Usuario eminente

@pepesoler Hola Pepe,  somos un cliente que tenemos un montón de hostings con vosotros (agencia),  solemos escribir desde esta cuenta por no hacernos un usuario de foro con cada cliente de los que creamos.  La tienda ahora mismo está en pre,  no está online, es por eso que tampoco podemos poner el enlace.  Igualmente serviría para cualquier cart de WooCommerce, la cosa es que ese código que nos pasó Karen muestra lo que queríamos, en la cart de WooCommerce, pero por el motivo que sea se equivoca en hacer los cálculos.

Adjunto de nuevo la captura del cálculo que hace,  muchísimas gracias de antemano

Captura total products

 

ResponderCitar
Respondido : 18/03/2024 3:41 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Anateres, 

En este caso veo que sí realizo la prueba en mi sitio web funciona de forma correcta. 

image

Ten en cuenta que cada sitio es distinto y pueden existir muchos factores que requiera lo revisemos a detalle, necesitamos poder ver el sitio web y que este dentro de webempresa para revisarlo con mayor detalle. 

Un Saludo 

 

ResponderCitar
Respondido : 18/03/2024 4:06 pm
Anatares
 Anatares
Usuario eminente

HOla, no hay problema,  pongo el enlace a la URL de pre   del proyecto que estamos haciendo en pruebas.  Está en uno de los 5 hostings que tenemos en webempresa con este cliente (tenemos muchos otros hostings en webempresa con otros emails asociados, para los que ya no creamos usuarios de foro porque con este ya tiramos, tampoco es que os molestemos demasiado a menudo 😉 )

entonces, para hacer todos la misma prueba, vamos a la shop  en  https://topbpoes-cp5015.wordpresstemporal.com/usa.topbpo.es/shop/  

añadimos un producto de 200 $

nos vamos a la cart en https://topbpoes-cp5015.wordpresstemporal.com/usa.topbpo.es/cart/

y ponemos el cupón descuento  "prousadoctor"  sin comillas

 

captura usa webempresa

Y el descuento es del 10%  (descuenta 20 dólares)  pero en el subtotal de abajo en Total products,  solo ha restado 6 $  al parecer, tal y como indico en la captura adjunta. 

Está claro que tiene que ser algo concreto de esta web que interfiere,  dado que ya me habéis enseñado que el código que me pasasteis lo está haciendo bien en otros WOOcommerce,  pero no sabemos qué puede estar pasando en esta.

Si necesitáis un usuario admin + password o algo,  decidme que os lo paso,  aunque no sé si lo debo pasar por foro público,  o se hace de otra manera que solo lo podáis ver y usar vosotros. 

Muchas gracias de nuevo, un saludo

ResponderCitar
Respondido : 21/03/2024 11:00 am

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Antares.

Ok, eso es porque estás mostrando los totales sin los impuestos y el total de los productos los está mostrando con los impuestos.

Si haces la suma del total veras que coincide.

 

Un saludo

ResponderCitar
Respondido : 21/03/2024 11:42 am
Anatares
 Anatares
Usuario eminente

HOla Pepe,  yo necesito que en Total Products,  en este caso del ejemplo  la resta de 180 $

 

¿Cuál es la solución?  ¿cambiar algo del código del functions o cambiar alguna parte de la configuración de WOOcommerce?

es que así el cliente no entenderá nada,  ellos esperan ver una resta coherente entre el precio de los productos y lo que les descuentan gracias al coupon  "prousadoctor"

muchas gracias

ResponderCitar
Respondido : 21/03/2024 11:56 am

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Antares.

En WooCommerce -> Ajustes -> Impuestos tienes que seleccionar " voy a introducir los precios con impuestos incluidos " y en las opciones Mostrar precios en la tienda y Mostrar precios en el carrito y en el pago seleccionar "  Impuestos incluidos "

screenshot mary52.webempresa.eu 2024.03.21 15 17 43

 

Un Saludo

ResponderCitar
Respondido : 21/03/2024 2:18 pm
Anatares me gusta
Anatares
 Anatares
Usuario eminente

Ok,  lo he puesto así para ver  cómo funciona,  aunque el cliente nos dijo que quería justo al contrario,  que insertásemos los precios Excluded taxes... y estaban los 3 campos así, en sin impuestos.

Ahora los he puesto como me indicáis  y diría que funciona 99% bien,  pero en lugar de restar exacto como en el ejemplo de Karen aquí arriba,  resta 200 - 20 = 181,31

¿esto es de nuevo por algo de los impuestos?  En el ejemplo de Karen no hay impuestos?

Es que todo esto, si sale así,  va a generar llamadas, reclamaciones tontas, explicaciones innecesarias por parte de atención al cliente, más trabajo inútil para ellos vaya  (vamos que me van a decir que no a esto)    por lo que no sé cómo acabar de solucionarlo

muchísimas gracias,   no sé si tiene solución final  pero desde luego debe estar cerca 😉

ResponderCitar
Respondido : 21/03/2024 4:15 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Anateres, 

En este caso prueba si el siguiente código te funciona cuando tienes excluidos los impuestos en las configuraciones

add_action( 'woocommerce_cart_totals_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
}
}

Como te comento ten en cuenta que esto es una personalización a la medida, si no funciona te recomiendo consultes con nuestro directorio de colaboradores para que revisen tu sitio web y puedan aplicar las características que necesitas. 

Un Saludo 

ResponderCitar
Respondido : 21/03/2024 6:39 pm
Anatares
 Anatares
Usuario eminente

Hola @karen  🙂   con este código sí que muestra todo de manera que el cliente lo pueda entender,  y muestra los $ 200 - $20 = $ 180  en la cart.  (adjunto captura mostrando que ahora funciona)

Cuando procedo a hacer el checkout: https://topbpoes-cp5015.wordpresstemporal.com/usa.topbpo.es/checkout/     veo que ya no muestra el nuevo campo en la cajita del checkout, a la derecha de los datos de envío etc

¿Hay posibilidad de que muestre ese nuevo cálculo de Subtotal también en el checkout?

 

Muchas gracias

 

captura usa webempresa 03 ok calculos
ResponderCitar
Respondido : 26/03/2024 4:31 pm

Cursos Gratuitos WordPress

Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Anateres, 

Puedes probar si añadiendo el Hook para la página de finalizar así como la del carrito te funciona, para ello prueba el siguiente código en lugar del anterior.

// 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
}
}

Un Saludo 

ResponderCitar
Respondido : 26/03/2024 4:48 pm
Anatares
 Anatares
Usuario eminente

Hola @karen 🙂  ostras espectacular,  muchas gracias, ahora funciona bien también en el checkout y en la cart!!

Te pregunto por dos sitios más dónde igual estaría bien que también saliera y que me quedan por resolver por si puedes darnos orientación:

1- Cuando terminas el pedido, en el order details final,  sería posible que también lo sacásemos ese desglose?  Adjunto captura

Captura order details discount

 

 

2- y una última cosa,  en el email que le llega al cliente,  hay alguna manera de desglosar eso también?  adjunto otra captura (Captura_email_woocommerce_discount.jpg) 

Captura email woocommerce discount

 
muchísimas gracias por vuestro soporte   <3

ResponderCitar
Respondido : 27/03/2024 10:18 am

wpdoctor-revisa-la-salud-de-tu-wordpress

Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Anateres,

Enhorabuena funciona como necesitas, es un placer siempre poder ayudarte. 😀 

Con respecto a las nuevas consultas te recomiendo abras un tema para cada uno de ellos, de esta forma mantenemos un control sobre el hilo y podemos ayudarte con mayor detalle. 

Un Saludo 😊 

ResponderCitar
Respondido : 27/03/2024 1:12 pm