Código para añadir DNI | CIF | NIF | NIE en WooCommerce

Juan Antonio Munoz Castro - emoji con bus

Si tienes la necesidad de añadir el campo para DNI, CIF, NIF o NIE en el formulario de finalizar compra en WooCommerce este es el código que estás buscando!

Si has llegado a este artículo quizá te interese:

Primero el código para agregar campo DNI en WooCommerce

<?php

/* AÑADIR CAMPO NIF/CIF EN EL FORMULARIO DE PAGO */
function JMWoo_custom_field_checkout($checkout) {
	
  echo '<div id="additional_checkout_field">';
  woocommerce_form_field( 'nif', array( // Identificador del campo 
    'type'          => 'text',
    'class'         => array('my-field-class form-row-wide'),
    'required'      => true,            // ¿El campo es obligatorio 'true' o 'false'?
    'label'       => __('NIF / CIF'),   // Nombre del campo 
    'placeholder'   => __('Ej: 12345678X'), // Texto de apoyo que se muestra dentro del campo
  ), $checkout->get_value( 'nif' ));    // Identificador del campo 
  echo '</div>'; 
  
}add_action( 'woocommerce_after_checkout_billing_form', 'JMWoo_custom_field_checkout' );


/* Incluir el nuevo campo en los detalles del pedido */
function JMWoo_custom_field_checkout_update_order($order_id) {
	
  if ( ! empty( $_POST['nif'] ) ) {
    update_post_meta( $order_id, 'NIF', sanitize_text_field( $_POST['nif'] ) );
  }
  
}add_action( 'woocommerce_checkout_update_order_meta', 'JMWoo_custom_field_checkout_update_order' );

/* Mostramos el campo en la página de edición del pedido */
function JMWoo_custom_field_checkout_edit_order($order){
	
  echo '<p><strong>'.__('NIF').':</strong> ' . get_post_meta( $order->id, 'NIF', true ) . '</p>';

}add_action( 'woocommerce_admin_order_data_after_billing_address', 'JMWoo_custom_field_checkout_edit_order', 10, 1 );


/* Incluir el campo creado en el correo informativo para el cliente */
function JMWoo_custom_field_checkout_email($keys) {
	
  $keys[] = 'NIF';
  return $keys;
  
}add_filter('woocommerce_email_order_meta_keys', 'JMWoo_custom_field_checkout_email');

?>


¿Explicamos un poco el código?

Aunque el código está comentado línea por línea voy a explicar a grandes rasgos lo más destacado del mismo.

woocommerce_after_checkout_billing_form

Mediante este Hook añadimos el campo como tal, sin darle ninguna funcionalidad especial salvo decirle si es obligatorio y opcional en el formulario.

woocommerce_checkout_update_order_meta

Como he indicado en el propio código este código hace que el nuevo campo recien creado salga en los detalles del pedido

woocommerce_admin_order_data_after_billing_address

Mediante este hook habilitamos el nuevo campo en la ventana de edición del pedido realizado desde el formulario de compra en Woocommerce. 

woocommerce_email_order_meta_keys

Y por último con esta función conseguimos que el DNI o el CIF introducido se refleje en los correos de WooCommerce

Bueno pues hasta aquí el post, este ha sido el primero de una serie de post que iré publicando con códigos útiles para mejorar o ampliar nuestro WordPress

¡Hasta pronto!

3 comentarios en “Código para añadir DNI | CIF | NIF | NIE en WooCommerce”

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ver más

  • Responsable: Juan Antonio Muñoz Castro.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a SERED que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Ir arriba
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad