Soporte » Plugins y Hacks » WooCommerce » Mostrar productos comprados restando los reembolsados

  • Hola a tod@s. Uso $product->get_total_sales() para mostrar la cantidad de compras de un producto, pero esta compra no muestra los productos que se han reembolsado. ¿Alguien sabe como restar dichos productos?

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)
  • Hola @luisdobleglez

    Total sales es un contador que cada vez que se compra se mueve y es una propiedad del Producto.
    Por el contrario un reembolso es algo que queda adjunto al objeto Order, entonces de entrada no WooCommerce no resta un reembolso del total sales.

    La única manera que se me ocurre es que utilices el momento en que el pedido pasa al estado wc_refunded en el hook: 'woocommerce_order_status_refunded'

    add_action( 'woocommerce_order_status_refunded', 'order_refunded');
    function order_refunded($order_id){
    //obtener la qty del producto devuelto
    //restar la qty del total_sales
    }

    Te dejo un enalce a stackoverflow donde explica como obtener la primera parte
    https://stackoverflow.com/questions/52490697/get-refunded-orders-and-refunded-order-items-details-in-woocommerce-3

    Para colocar la qty en el total_sales debes utilitzar el get_total_sales(), restarle la qty que te haya dado en la anterior y utilizar set_total_sales().

    Espero que con estas pistas puedas conseguir lo que necesitas.

    • Esta respuesta fue modificada hace 6 meses, 1 semana por Adrián de Grafreak.
    • Esta respuesta fue modificada hace 6 meses, 1 semana por LGrusin. Razón: Comillas código

    Muchas gracias @adriandegrafreak era la respuesta que necesitaba. Lo voy a probar.

    Hola,

    Recuerda compartir la solución final y marcar el hilo como resuelto. Así servirá de ayudas a otros usuarios.

    Gracias!

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)
  • El debate ‘Mostrar productos comprados restando los reembolsados’ está cerrado a nuevas respuestas.