Avisos
Vaciar todo

[Resuelto] Error plugin PDF Invoices & Packing Slips for WooCommerce  

 
Carlos
 Carlos
Usuario activo

Hola, 

Me sale este error cuando trato de generar una factura en la web en PDF. Hace unos días actualicé plugins, supongo que pueda tener que ver con ello. 

Fatal error: Call to a member function custom_field() on null

/home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-content/themes/astra/functions.php (204)
#0 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-includes/class-wp-hook.php(326): incluir_nif_en_factura()
#1 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-includes/plugin.php(205): WP_Hook->apply_filters()
#2 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-content/plugins/woocommerce-pdf-invoices-packing-slips/includes/documents/abstract-wcpdf-order-document-methods.php(93): apply_filters()
#3 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-content/plugins/woocommerce-pdf-invoices-packing-slips/includes/documents/abstract-wcpdf-order-document-methods.php(102): WPO\WC\PDF_Invoices\Documents\Order_Document_Methods->get_billing_address()
#4 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-content/plugins/woocommerce-pdf-invoices-packing-slips/templates/Simple/invoice.php(42): WPO\WC\PDF_Invoices\Documents\Order_Document_Methods->billing_address()
#5 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-content/plugins/woocommerce-pdf-invoices-packing-slips/includes/documents/abstract-wcpdf-order-document.php(1138): include('/home/pruebasli...')
#6 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-content/plugins/woocommerce-pdf-invoices-packing-slips/includes/documents/abstract-wcpdf-order-document.php(982): WPO\WC\PDF_Invoices\Documents\Order_Document->render_template()
#7 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-content/plugins/woocommerce-pdf-invoices-packing-slips/includes/documents/abstract-wcpdf-order-document.php(937): WPO\WC\PDF_Invoices\Documents\Order_Document->get_html()
#8 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-content/plugins/woocommerce-pdf-invoices-packing-slips/includes/documents/abstract-wcpdf-order-document.php(1004): WPO\WC\PDF_Invoices\Documents\Order_Document->get_pdf()
#9 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-content/plugins/woocommerce-pdf-invoices-packing-slips/includes/class-wcpdf-main.php(580): WPO\WC\PDF_Invoices\Documents\Order_Document->output_pdf()
#10 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-includes/class-wp-hook.php(324): WPO\WC\PDF_Invoices\Main->generate_document_ajax()
#11 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#12 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-includes/plugin.php(517): WP_Hook->do_action()
#13 /home/pruebaslibresdie/public_html/curso.superavitformacion.com/wp-admin/admin-ajax.php(188): do_action()
#14 {main}

En la visualización de la factura me sale el error de la captura que adjunto también.
Gracias!
image
 

Contenido solo visible a usuarios registrados

Respondido : 22/12/2023 9:03 am
Carlos
 Carlos
Usuario activo

Aparentemente me pasa por este trozo de código que tengo en functions.php para que se incluya el NIF en las facturas ¿Cómo lo puedo solventar?:

// Incluir NIF en la factura

add_filter( 'wpo_wcpdf_billing_address', 'incluir_nif_en_factura' );

function incluir_nif_en_factura( $address ){
global $wpo_wcpdf;

echo $address . '<p>';
$wpo_wcpdf->custom_field( 'billing_dni', 'NIF: ' );
echo '</p>';
}

Respondido : 22/12/2023 9:07 am

Cursos Gratuitos WordPress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Carlos.

Prueba con lo siguiente:

add_filter( 'wpo_wcpdf_billing_address', 'incluir_nif_en_factura', 99, 2 );
function incluir_nif_en_factura( $address, $document = null ) {
    if (!empty($document->order) && $nif = $document->get_custom_field('billing_nif') ) {
        $address = $address . "<p>NIF/DNI/CIF: {$nif}</p>";
   }
    return $address;
}

 

Un Saludo

Respondido : 22/12/2023 12:12 pm
Carlos
 Carlos
Usuario activo

Gracias por tu respuesta.

Tuve que modificar el Billing_nif que me dabas por Billing_dni para que funcionase pero ya está arreglado.

 

Gracias.

Respondido : 23/12/2023 5:19 pm

Bruno
 Bruno
Soporte CMS Webempresa Moderator

Que tal Carlos,

Nos alegra que hayas podido solucionar, cualquier otra consulta que tengas estaremos atentos

Saludos!

Respondido : 23/12/2023 6:53 pm