Order form of the Herves-Vida online shop

Order form of the Herves-Vida online shop

In How do you add a NIF or CIF field to WooCommerce 2.0? we explained how to add a NIF/CIF field to WooCommerce, and the code works perfectly in WooCommerce 2.0, but now that the new version 2.1 has been published, it has stopped working. That is why we are opening this new post with the new code, which in fact only needs two lines changed and one new function added, so that all those who decide to carry on with WooCommerce 2.0 can go on using the old code, and those of you who have already updated to WooCommerce 2.1 can use this new one that we are proposing to you today.

This time we are not going to go into detail on the code, since anyone who needs to know each function in depth can do so in the previous post.

Just as with the previous functions, we are going to add the following PHP code to the functions.php file of our child theme:

Copy to clipboard

After modifying it and saving it, we will see that the errors and problems that had appeared with WooCommerce 2.1 disappear.

We hope you find it useful and that you let us know about any problems that come up for you, so that we can go on updating the code whenever it is necessary.

Related posts

Comments

Suscríbete
Notificar de
35 Comments
Más antiguos
Más recientes Más votados
Vincent
9 de abril de 2014 0:04

Hola, muchas gracias por este aporte. Tengo una duda donde se incluye este codigo, al final o donde del archivo del functions.php y tambien si funciona con la última versión de woocommerce 2.1.6.
Muchas gracias de antemano.

Art Project Group
9 de abril de 2014 6:56
Responder a  Vincent

Da igual dónde lo coloques, mientras lo coloques en el archivo functions.php, y si, es 100% funcional para todas las versiones de WooCommerce 2.1.x publicadas hasta ahora.

Un saludo.

John Dante Lopez Paredes
25 de abril de 2014 23:06

Hola, tengo una duda y disculpen la molestia, pero en cual functions.php va el código, el de WP o en el woocommerce, gracias de antemano

Art Project Group
25 de abril de 2014 23:41

Ni en uno, ni en otro, en el del tema (plantilla), o tema hijo (child).

pacor
6 de mayo de 2014 13:53

gracias por el aporte, mi pregunta es que necesito que el campo cif sea obligatorio, he puesto en el codigo “true” en vez de “False” y me aparece bien pero el problema es al ir a realizar el pago y no pongo nada en el campo me sale un error en vez de salirme ningun mensaje de que tengo que rellenar el campo. Donde se encuentran estos mensajes o como crees que lo puedo solucionar?

gracias de antemano por la ayuda.

Art Project Group
19 de mayo de 2014 14:07
Responder a  pacor

Buenas tardes. Acabamos de hacer la prueba y funciona perfectamente, si dejas el campo NIF/CIF en blanco te sale este mensaje de error:
CIF/NIF es un campo requerido.

En cuanto, a de donde sale ese mensaje de error, sale del archivo class-wc-checkout.php, en la carpeta includes de WooCommerce, concretamente de la línea 500, y es editable desde la traducción del propio WooCommerce con algún plugin del estilo a Codestyling Localization.

Si te sale cualquier otra cosa, es posible que tu plantilla no esté bien configurada para WooCommerce 2.1 o que tengas algún tipo de problema con AJAX, ya que el error que se muestra es generado por una consulta AJAX.

Esperamos haberte servido de ayuda.

Un saludo.

Art Project Group
9 de mayo de 2014 18:33
Responder a  pacor

A ver si sacamos un poco de tiempo y lo probamos, ya que teoricamente funciona, al menos en las pruebas que hemos hecho en el pasado funcionar, funcionaba, aunque también es verdad que fueron sobre WooCommerce 2.0. En cuanto tengamos alguna novedad te respondemos por esta misma vía.

Gracias por el aviso.

black_mamba
6 de mayo de 2014 18:53

Seria interesante ciertamente implementar eso que comentas

Max
14 de mayo de 2014 18:37

Muy buen aporte! Lo he estado probando y funciona correctamente. Solo tengo una duda, en qué sitio de la base de datos guarda el cif/nif del cliente?

Art Project Group
14 de mayo de 2014 18:43
Responder a  Max

En la misma tabla donde se guardan todos los demás metacampos de WordPress, en la tabla wp_postmeta.

Un saludo.

Enrique
4 de junio de 2014 11:28

No me funciona, me da el error:

Parse error: syntax error, unexpected ‘$campos’ (T_VARIABLE) in C:\xampp\htdocs\WordPress\wp-content\themes\mommerce\functions.php on line 19

¿Cómo podría solucionarlo?

Art Project Group
5 de junio de 2014 9:11
Responder a  Enrique

Confirma si tienes instalado WooCommerce 2.1.x, ya que este código funciona perfectamente, confirmado por cientos de instalaciones.

Un saludo.

manuel
10 de junio de 2014 12:19

Antes de nada agradeceros este codigo. Está genial.
Pero creo que tiene un fallito o yo hice algo mal…

Si tu creas un pedido de manera manual desde el panel de administrador, seleccionas un cliente que tiene el campo CIF cubierto, y luego le das a “cargar dirección de facturación” el formulario se autorellena… MENOS EN EL CAMPO DEL NIF… :(

jejeje seguro que es una pijada que se soluciona muy facilmente… pero a mi se me escapa por ahora como arreglarlo.
Si le encontráis una solucion… SERIA PERFECTO… MUCHAS GRACIAS. :)

Un saludo a tod@s.

Art Project Group
10 de junio de 2014 15:46
Responder a  manuel

En realidad no es ninguna ‘pijada’, ya que hay que modificar los archivos meta-boxes.js y class-wc-ajax.php para que WooCommerce soportara los campos añadidos manualmente, lo que implica que cuando actualices tu WooCommerce, las modificaciones resultarían inútiles. Aún utilizando el filtro woocommerce_found_customer_details, no tendría mucho sentido sin crear un nuevo JavaScript para controlar el evento click del botón.

Por otro lado, efectivamente el campo NIF/CIF se come todo lo que sea texto, ya que no tiene ningún filtro. Puedes probar a añadirle el argumento custom_attributes en el array, e introducirle un array con el atributo pattern y una expresión regular que haga lo que necesitas.

Un saludo.

manuel
10 de junio de 2014 16:03
Responder a  Art Project Group

Lamentablemente mis conocimientos no llegan tanto en programación… y menos en woocomerce (vengo de otras plataformas, pero en esta soy novatillo). Solo lo comenté por si era algo fácil de modificar. Si no pues se copia manualmente este dato de la ficha del cliente y listo.

Muchisimas gracias por vuestra atención :)

manuel
10 de junio de 2014 12:28

y por cierto… otro detalle también a tener en cuenta sería una posible validación de los datos que se introducen en ese campo… porque he comprobado que puedes meter cualquier dato… sin letra, con letra… INCLUSO TODO LETRAS jajajajaja la verdad es que el código está muy bien, pero yo le he encontrado un par de cosillas que igual se pueden retocar…

Un saludo!!!

Marc
13 de junio de 2014 21:54

Hola,

utilizo este código sin problema alguno, pero después de que woocommerce se haya actualizado a la última versión (2.1.11) los campos del formulario de compra salen en ingles, los únicos que salen en español son los campos de NIF y Codigo postal.

Puede deberse al código indicado arriba o es cosa de woocommerce?

Muchas gracias y saludos.

Art Project Group
14 de junio de 2014 9:50
Responder a  Marc

Es un bug de WooCommerce 2.1.11.

extruendo
20 de junio de 2014 1:01

Hola, estoy intentando que el nuevo campo solo aparezca en el formulario de “dirección de envió”, pero no logro hacerlo.
que línea tendría que eliminar?

Art Project Group
20 de junio de 2014 7:36
Responder a  extruendo

Hay que omitir todo lo relacionado con los campos billing y mantener todo lo relacionado con los campos shipping.

Un saludo.

thegrip
31 de agosto de 2014 11:27

Hola, funciona perfectamente. Una consulta, si se tiene el plugin PDF Invoice para generar la factura en PDF como hago para que me aparezca en el PDF generado. El campo es _billing_nif. Lo intento así
export->order->id,’_billing_nif’,true); ?>
pero no sale nada.
Gracias, un saludo.

Art Project Group
31 de agosto de 2014 16:33
Responder a  thegrip

En principio no hay que hacer nada, debería incluirlo de forma automática.

Si continúas con problemas, recuerda nuestra Soporte técnico.

Un saludo.

irene
12 de septiembre de 2014 10:09

Muchas gracias!!
Funciona perfectamente!!
Me habeis salvado de un marrón al que le estaba dando vueltas desde hace unos días.
Muchas gracias!!

irene
18 de septiembre de 2014 9:41

hola!!
Tengo un problemilla no me funciona que el campo CIF sea obligatorio. Tengo WooCommerce Versión 2.1.12 . y mi THEME en MyStile. No se como solucionarlo porque decís que os funciona a todos pero en mi caso si no lo relleno no pasa nada, ni da error ni nada, se puede seguir con la compra. Alguna sugerencia??

irene
18 de septiembre de 2014 9:51

Hola de nuevo!!
Repasando los comentarios he conseguido la respuesta para solucionarlo.
He puesto en la función :
function campos_de_direccion($campos) {
‘required’ => true,
Perdonar mi torpeza pero soy novatilla en estas cosillas.
Lo pongo por si hay gente como yo que no se entera mucho de la fiesta.
Muchas gracias de todas maneras.
Un saludo.

power
15 de agosto de 2015 22:07

Tendrían que actualizar el orden de los campos esta ultima versión de woocomerce Versión 2.4.4 salen desordenados hay algo que cambiado en woocommerce que no queda como por ejemplo hasta versión anterior a esta a partir de esta versión tanto formulario de finalizar compra como cuenta del usuario los campos no salen organizados como estaban.

Art Project Group
26 de agosto de 2015 16:05
Responder a  power

Ya lo tienes solucionado en ¿Cómo añadir un campo NIF o CIF con validación a WooCommerce 2.4?.

Gracias por el aviso.

Un saludo.

Art Project Group
26 de agosto de 2015 14:35
Responder a  power

Lo revisamos y actualizamos lo antes posible.

Un saludo.

David
16 de septiembre de 2015 15:47

Hola.
Funciona en WooCommerce 2.2.x. Tenía la duda.
Gracias por el código.

Saludos.

Art Project Group
16 de septiembre de 2015 18:06
Responder a  David

Si. Este código ha funcionado sin problemas hasta la versión 2.3 inclusive.

Un saludo.

David
17 de septiembre de 2015 13:30

Hola de nuevo,
La opción de hacer el campo CIF/NIF obligatorio no funciona. Tengo WooCommerce 2.2.X. He puesto el valor ‘true’ en ‘required’ => true. Después he realizado una prueba no rellenando dicho campo y al pinchar en “Siguiente”, me ha llevado a la página de pago… ¿No me estaré dejando algo?.
Saludos,

Art Project Group
17 de septiembre de 2015 14:40
Responder a  David

Seguro que algo no estás haciendo bien ya que el código publicado es totalmente funcional.

Un saludo.

David
17 de septiembre de 2015 15:13
Responder a  Art Project Group

Acabo de darme cuenta que la validación de los campos obligatorios sucede después de elegir la opción de pago.
He dejado todos los campos vacíos, he pinchado en “siguiente”, me ha llevado a la opción de pago, he elegido “transferencia bancaria”, “siguiente”, me aparece el producto con el coste final, he pinchado en “Realizar pedido” y acto seguido he sido redirigido a la página del formulario donde se me han mostrado los campos que son requeridos ?¿ Que funcionamiento más raro, no?
Este mensaje se debería de mostrar antes de llevarte a la página de pago… Lo dejo como un “mal menor”, dado que el CIF es uno de los campos requeridos también.
Saludos

Ricardo
28 de enero de 2021 16:44

No funcionan los botones para ver el código posteando en redes :/

In this post

Products and services

Latest posts

Latest comments

Subscribe!

Lista de correos de APG

DATA PROTECTION: In accordance with data protection regulations, we provide you with the following processing information: (+)

  • Responsible: Art Project Group.
  • Treatment purposes: to respond to queries or any type of request made by the user through any of the forms of contact that are made available on the website. Sending communications about products or services (with your consent).
  • Your rights: access, rectification, portability, deletion, limitation and opposition. More information about the treatment in the Privacy Policy.

What we post on !

Se ha publicado #WordPress 7.1.4: actualización de seguridad que corrige vulnerabilidades detectadas en el núcleo.

Al tratarse de una actualización de seguridad, se recomienda actualizar inmediatamente.

October 28, 2026