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 un comentario

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

Información básica sobre protección de datos Ver más

  • Responsable Juan Antonio Muñoz Castro .
  • Finalidad Moderar los comentarios. Responder las consultas.
  • Legitimación Tu consentimiento.
  • Destinatarios SERED.
  • Derechos Acceder, rectificar y suprimir los datos.
  • Información Adicional Puedes consultar la información detallada en la Política de Privacidad.

Ir arriba
Esta web utiliza cookies, puedes ver aquí la Política de Cookies