Soporte » Plugins y Hacks » WooCommerce » Como eliminar subtotal de un producto en carrito y que se refleje en el total

  • Hola, como estan?

    A lo que voy es que estoy teniendo un error con un plugin de bundles de productos. Este plugin lo que te permite hacer es subir un producto como paquete, el cual incluye dentro otros productos. Estoy productos incluidos vienen con cantidad al por mayor.

    En el carrito se TENDRIA que ver algo asi:

    nombreproducto – precio – cantidad – subtotal
    productooriginal – vacio -12 -vacio
    productopack -24000 – 1 – 24000

    siendo que el producto que compra el cliente es el que esta abajo. Y arriba aparece como referencia el producto a cual esta comprando en cantidad, y por lo tanto solo muestra la cantidad, no el precio ni el subtotal.

    El problema es que con algunos productos se me termina viendo algo asi:

    nombreproducto – precio – cantidad – subtotal
    productooriginal – 2000 – 12 – 24000
    productopack – 24000 – 1 – 24000

    es decir que se refleja igual el precio y subtotal del producto al cual se hace referencia, y esto hace que el total de la compra se vaya al doble.

    Yo llegue a hacer con codigo lo siguiente:

    add_action( ‘init’ , ‘delete_subtotal_item_bundles’ );

    function delete_subtotal_item_bundles() {

    $cart = WC()->cart;

    add_filter( ‘woocommerce_cart_item_subtotal’, ‘new_subtotal’, 10, 3 );

    function new_subtotal( $subtotal, $cart_item, $cart_item_key ) {
    $newsubtotal = 0;

    if ($cart_item[‘product_bundlered_by’] !== null) {
    $subtotal = $newsubtotal;
    return $subtotal;
    } else {
    return $subtotal;
    }
    }

    add_filter( ‘woocommerce_cart_item_price’, ‘new_price’, 30, 3 );

    function new_price( $price, $cart_item, $cart_item_key ) {
    $newprice = 0;

    if ($cart_item[‘product_bundlered_by’] !== null) {
    $price = $newprice;
    return $price;
    } else {
    return $price;
    }
    }

    De manera que digo que si existe en el producto un producto que esta sido referenciado por otro de paquete, entonces que el precio y el subtotal lo deje en 0. El problema es que lo cambia, pero en el total total de todo, no se hace la cuenta con esos nuevos valores. Es decir que sigue tomando los valores viejos.

    Ejemplo:

    nombreproducto – precio – cantidad -subtotal
    productooriginal -vacio – 12- vacio
    productopack – 24000 – 1 – 24000

    subtotal48000
    total48000

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Moderador kallookoo

    (@kallookoo)

    Hola @diegosanchez93

    Indicanos que plugin usas y veremos que podemos hacer.

    Igualmente lo que comentas no tiene sentido, ya que los plugin que hacen packs el WooCommerce usa el producto (pack) y no los productos originales salvo que se añadan manualmente al carrito.

    Saludos

    Iniciador del debate diegosanchez93

    (@diegosanchez93)

    @kallookoo Hola, como estas? El plugin usado es WooCommerce Product Bundles, de SomewhereWarm. Si, entiendo lo que decis, tambien pienso que es raro que que lo incluyan asi al producto. Como comentaba al inicio del debate, intenté usar filtros para cambiar los valores en el carrito. Se lograron cambiar, pero no se reflejaban en los demas lugares. Por ejemplo, cambiaba el valor del subtotal del producto, pero no se reflejaba la cuenta en el total. Por eso es que pienso que al enviar el producto al carrito, antes pasa por otra funcion. Quisiera ver cual puede ser esa funcion, o como podria hacer para hacer una condicion de que si hay un bundle que incluya tal producto, y luego quiero agregar agunos productos mas de ese que está incluido dentro del bundle, que no pase este error.

    Moderador jose64

    (@jose64)

    Hola @diegosanchez93

    El plugin WooCommerce Product Bundles es un plugin comercial, si estás usando un plugin comercial y necesitas soporte debes ir a su canal de soporte oficial. Para dar el mejor servicio a la comunidad WordPress, y generar progreso e innovación, creemos que es importante dirigir a la gente a los sitios oficiales, en este caso el soporte de WooCommerce:

    https://woocommerce.com/my-account/create-a-ticket/

    Además, los voluntarios del foro no tenemos acceso a productos comerciales, por lo que no podemos hacer pruebas de funcionamiento.

    Moderador José Arcos

    (@josearcos)

    Hola, @diegosanchez93.

    Antes que nada, te pido disculpas por la demora en este mensaje. ¿Pudiste solucionar tus dudas? Si es el caso, ¿puedes compartir en este hilo la solución para que el resto de la comunidad se beneficie?

    Un saludo.

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • El debate ‘Como eliminar subtotal de un producto en carrito y que se refleje en el total’ está cerrado a nuevas respuestas.