Avisos
Vaciar todo

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

5 Respuestas
3 Usuarios
0 Reactions
19 Visitas
Respuestas: 20
Eminent Member
Topic starter
 

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
Respuestas: 20
Eminent Member
Topic starter
 

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
Pepe
 Pepe
Respuestas: 41113
Illustrious Member 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
Respuestas: 20
Eminent Member
Topic starter
 

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
Respuestas: 6468
Illustrious Member 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