Ya he hablado antes del plugin WooCommerce PDF Invoices & Packing Slips, entre otras cosas porque es un plugin que me encanta: resuelve muy bien el problema de las facturas en WooCommerce y es muy flexible, así que lo uso en muchos proyectos (tanto propios como de mis clientes).
Parte de esa flexibilidad radica en que la plantilla para las facturas se puede personalizar al 100% con un poco de PHP y HTML, pero la verdadera potencia del plugin radica en que, como los plugins de calidad, hace uso de hooks, que permiten hacer muchas cosas con un poquito de código. Y hoy vamos a ver una de esas cosas: cómo añadir las notas del pedido en la factura con WooCommerce PDF Invoices & Packing Slips.
Tabla de contenidos
WooCommerce PDF Invoices & Packing Slips
Acerca del plugin, su funcionamiento y sus bondades no me voy a extender demasiado, entre otras cosas porque ya le he dedicado un artículo completo. Si quieres ampliar la información sobre este tema, te lo dejo aquí:
Pero sí voy a hablar de una característica de este plugin que no mencioné en su día por ser algo más técnica, y es que incorpora hooks.
Si no sabes lo que son los hooks, no te agobies: lo cierto es que es algo bastante técnico. Para no dejar a nadie perdido diré que son unos sitios especiales del código que nos permiten «enganchar» nuestro propio código dentro del suyo (de ahí el nombre de hook).
Añadir las notas del pedido en la factura (y en el albarán)
En este caso vamos a hacer uso del hook wpo_wcpdf_after_order_details, incorporado después del detalle de productos facturados y del total, y antes del pie de factura. Si eres curioso por naturaleza (como lo soy yo) puedes encontrar este hook en el archivo templates/pdf/Simple/invoice.php. La magia está en la línea:
Así que, como decía más arriba, vamos a aprovechar ese hook para «enganchar» ahí la información que queramos, en este caso las notas del pedido que haya incluido el cliente.
Como el hook también está presente en el archivo packing-slip.php, esta información aparecerá tanto en el albarán como en la factura. Si sólo quieres que aparezca en uno de ellos simplemente hay que añadir un condicional. Es programación básica en PHP.
Pues bien, ya sólo queda añadir un par de líneas de código, que harán el resto:
Así de sencillo, ni más ni menos. El resultado:
Un resultado que, por supuesto, se puede mejorar estéticamente como queramos. Basta con un poco de HTML, CSS y PHP básicos.
Como siempre, para cualquier duda, consulta o pregunta tienes a tu disposición el formulario de contacto.