No facturar un producto concreto en Woocommerce

  • No facturar un producto concreto en Woocommerce

    Discusión creada por Esperanza Sánchez Carmona el 22 de julio de 2024 en 8:51 AM

    ¡Buenas tardes!

    Tengo una tienda online en la que vendo cursos de restauración con su correspondiente factura, pero hay un producto que tengo puesto a coste 0 que me sirve para que las personas se apunten a una lista de espera pero no quiero que se emitan facturas de este artículo.

    ¿Sabéis cómo lograr esto? Es que no encuentro la posibilidad de elegir que un producto no emita factura.

    Muchas gracias.

    Esperanza Sánchez Carmona ha respondido hace 2 meses, 4 semanas 2 Miembros · 4 Respuestas
  • 4 Respuestas
  • Jefferson Maldonado

    organizador
    22 de julio de 2024 en 10:27 AM

    Que tal Esperanza, un gusto saludarte.

    Vale, la herramienta que estás usando para generar las facturas debería permitirte condicionar la generación de facturas, ¿no?

    ¿Qué herramienta estás usando?

    • Esperanza Sánchez Carmona

      Miembro
      23 de julio de 2024 en 1:51 AM

      Hola! Gracias por contestar-

      La herramienta que estoy usando es <strong style=”font-family: inherit; font-size: inherit; color: var(–bb-body-text-color);”>PDF Invoices & Packing Slips for WooCommerce .

      Gracias

      • Jefferson Maldonado

        organizador
        23 de julio de 2024 en 3:18 PM

        Que tal Esperanza, revisamos la documentación de este plugin y no ofrece realizar el las facturas de manera condicional.

        Puedes hacerlo agregando una línea de código PHP también, te comparto por acá el código, aunque recomendó que un desarrollador te ayude a hacer esta implementación:

        Añade el siguiente código al archivo functions.php de tu tema hijo para controlar la generación de facturas de manera condicional:

        add_filter('wpo_wcpdf_document_is_allowed', 'conditionally_generate_invoice', 10, 2);

        function conditionally_generate_invoice($allowed, $document) {

        if ($document->get_type() === 'invoice') {

        $order = $document->order;

        $items = $order->get_items();

        $generate_invoice = false;

        // Define los IDs de productos para los cuales deseas generar facturas

        $products_to_include = array(123, 456, 789);

        foreach ($items as $item) {

        if (in_array($item->get_product_id(), $products_to_include)) {

        $generate_invoice = true;

        break;

        }

        }

        // Si no se encuentra ningún producto especificado, no generar la factura

        if (!$generate_invoice) {

        return false;

        }

        }

        return $allowed;

        }

        Espero que esta información te sea útil. Si necesitas más asistencia o tienes alguna otra pregunta, no dudes en contactarnos.

  • Esperanza Sánchez Carmona

    Miembro
    24 de julio de 2024 en 8:03 AM

    Muchas gracias Jefferson, así lo haré. Gracias

Inicia sesión para responder.