Avisos
Vaciar todo

[Resuelto] ERROR "200: parsererror" PLUGIN PDF Invoices & Packing Slips for WooCommerce CODIGO DNI NIF (ASTRA + ELEMENTOR)  

 
Ismael
 Ismael
Estimable Member

Buenas tardes, tenemos problemas con el plugin de facturación, PDF Invoices & Packing Slips for WooCommerce, la causa es un código que utilizamos en el tema para que aparezca el campo DNI/NIF en los datos cuando un cliente nos realiza un pedido, antes funcionaba con este código y tras quitarlo, el error desaparece, creo que solo habría que modificar dicho código, porque según he visto incluye el DNI también en facturas generadas, y algo ha tenido que cambiar pues antes funcionaba con el código tal y como os lo adjunto, se os ocurre como modificarlo para que el plugin vuelva a funcionar y se nos visualicen las facturas? mil gracias y felices fiestas a todos!

 

/**

 

* Añade el campo NIF a la página de checkout de WooCommerce

 

*/

 

add_action( 'woocommerce_after_order_notes', 'agrega_mi_campo_personalizado' );

 

function agrega_mi_campo_personalizado( $checkout ) {

 

    echo '<div id="additional_checkout_field"><h2>' . __('Información adicional') . '</h2>';

 

   woocommerce_form_field( 'nif', array(

 

        'type'          => 'text',

 

        'class'         => array('my-field-class form-row-wide'),

 

        'label'         => __('NIF-DNI'),

 

        'required'      => true,

 

        'placeholder'   => __('Introduzca el Nº NIF-DNI'),

 

        ), $checkout->get_value( 'nif' ));

 

  echo '</div>';

 

}

 

/**

 

* Comprueba que el campo NIF no esté vacío

 

*/

 

add_action('woocommerce_checkout_process', 'comprobar_campo_nif');

 

function comprobar_campo_nif() {

 

    // Comprueba si se ha introducido un valor y si está vacío se muestra un error.

 

    if ( ! $_POST['nif'] )

 

        wc_add_notice( __( 'NIF-DNI, es un campo requerido. Debe de introducir su NIF DNI para finalizar la compra.' ), 'error' );

}

/**

 

* Actualiza la información del pedido con el nuevo campo

 

*/

 

add_action( 'woocommerce_checkout_update_order_meta', 'actualizar_info_pedido_con_nuevo_campo' );

 

function actualizar_info_pedido_con_nuevo_campo( $order_id ) {

 

    if ( ! empty( $_POST['nif'] ) ) {

 

        update_post_meta( $order_id, 'NIF', sanitize_text_field( $_POST['nif'] ) );

 

    }

 

}

 

/**

 

* Muestra el valor del nuevo campo NIF en la página de edición del pedido

 

*/

 

add_action( 'woocommerce_admin_order_data_after_billing_address', 'mostrar_campo_personalizado_en_admin_pedido', 10, 1 );

 

function mostrar_campo_personalizado_en_admin_pedido($order){

 

    echo '<p><strong>'.__('NIF').':</strong> ' . get_post_meta( $order->id, 'NIF', true ) . '</p>';

 

}

 

/**

 

* Incluye el campo NIF en el email de notificación del cliente

 

*/

 

add_filter('woocommerce_email_order_meta_keys', 'muestra_campo_personalizado_email');

 

function muestra_campo_personalizado_email( $keys ) {

 

    $keys[] = 'NIF';

 

    return $keys;

 

}

 

/**

 

*Incluir NIF en la factura (necesario el plugin WooCommerce PDF Invoices & Packing Slips)

 

*/

 

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( 'NIF', 'NIF: ' );

 

  echo '</p>';

 

}

CAPTURA

Contenido solo visible a usuarios registrados

Respondido : 26/12/2023 7:58 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Ismael, 

Puedes comentarnos de donde has obtenido el código para añadir estas opciones en la factura?, actualmente nosotros no podemos revisar un código de programación y modificarlo. Sin embargo una opción más sencilla para añadir esto es la siguiente:

Añade el campo DNI utilizando el siguiente plugin → https://es.wordpress.org/plugins/woo-checkout-field-editor-pro/

Una vez activo, accede a WooCommerce → Formulario de pago y añade el campo DNI en la página de pago de WooCommerce

image
image

Verifica que el campo se muestre de forma correcta en tu formulario de pago, si está todo correcto añade el siguiente código en el archivo function.php de tu tema (preferiblemente un tema hijo) o con un plugin como code snippets

/*Agregar NIF/DNI en factura de PDF Invoices & Packing Slips for WooCommerce*/
add_filter( 'wpo_wcpdf_billing_address', 'add_nif_en_factura', 99, 2 );
function add_nif_en_factura( $address, $document = null ) {
if (!empty($document->order) && $nif = $document->get_custom_field('billing_dni') ) {
$address = $address . "<p>NIF/DNI/CIF: {$nif}</p>";
}
return $address;
}

Verifica luego hacer una orden y que el DNI/NIF se muestre de forma correcta

image

Prueba esto y nos comentas como va todo

Un Saludo 

Respondido : 26/12/2023 10:33 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Ismael
 Ismael
Estimable Member

@karen muchas gracias por tu respuesta, el código lo obtuve hace más de un año de Google, no sabría decirte el lugar en concreto, algún foro como este o incluso este imagino, pero fue cuando aún ni utilizaba el plugin de las facturas, simplemente para que añadiera el DNI en el pedido, lo insertamos en el archivo function.php de nuestro tema, en este caso Astra, de hecho cada vez que actualizamos el tema, volvemos a añadir el código porque se borra, si lo crees conveniente probamos el plugin que nos comentas con la configuración que nos dices y vemos que tal, lo único que me preocupa es que consuma mas recursos que el código que tenemos, aunque puede ser menos engorroso que este, en futuras actualizaciones del plugin PDF Invoice, lo que me digas hago, gracias de nuevo por tu ayuda, espero que pases unas felices fiestas!

Respondido : 26/12/2023 11:06 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Ismael, 

En este caso este plugin no suele consumir muchos recursos, puedes probar añadir lo que necesitas con estas opciones. Ten en cuenta que este código que añadiste anteriormente de Google puede dejar te funciona ya sea por compatibilidad entre versiones del propio plugin de facturas de WooCommerce. 

Prueba como funciona con la opción que te mencionó y nos comentas como va todo. 

Un Saludo 

Respondido : 27/12/2023 12:05 am

Ismael
 Ismael
Estimable Member

Hola Karen, mil gracias por tu ayuda, he hecho lo que me dices y parece que funciona perfectamente, he añadido también el código que me has enviado, lo que no entiendo es para que es? en principio tema resuelto, espero un rato para darle a resuelto, por si me diese fallo no volver a abrir otro tema distinto, gracias de nuevo! pasa un buen día!

Respondido : 27/12/2023 11:17 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Ismael.

he añadido también el código que me has enviado, lo que no entiendo es para que es?

El plugin que te indico mi compañera es para añadir el campo DNI en el Checkout de WooCommerce y el código es para que se añada el DNI en las facturas del plugin PDF Invoices & Packing Slips for WooCommerce

espero un rato para darle a resuelto

Ok dejo el hilo abierto por si necesitas retomarlo.

 

Un saludo

Respondido : 27/12/2023 12:11 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Ismael
 Ismael
Estimable Member

@pepesoler Hola Pepe, okey duda resuelta, acabo de comprobarlo y si se visualiza bien y en las facturas PDF se incluye el DNI, así que duda resuelta muchas gracias por todo, pasad una feliz Navidad, un saludo.

Respondido : 27/12/2023 1:44 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Ismael.

Genial !!! Me alegra que se solucionara.

Cualquier consulta que tengas no dudes en comunicarlo.

 

Un saludo

Respondido : 27/12/2023 2:23 pm

wpdoctor-revisa-la-salud-de-tu-wordpress