Añadir el campo Nif en Woocommerce de una manera cómoda y fácil, mini vídeo tutorial

con No hay comentarios

La intención de este mini tutorial es poder solventar de una manera fácil y cómoda, la usencia del campo Nif /CiF o DNI en el formulario de la página del Checkout (en español Finalizar Compra),

Hemos utilizado el plugin Code Snippets (https://es.wordpress.org/plugins/code-snippets/) que es un plugin para añadir fragmentos de código a tu sitio. Eliminando la necesidad de añadirlos en el archivo functions.php de tu tema activo.

Aquí te dejo el video tutorial, espero que os sea de utilidad.

Copia y pega éste código:

/*
 * AÑADIR CAMPO NIF/CIF EN EL FORMULARIO DE PAGO
 */
 function woo_custom_field_checkout($checkout) {
 echo '

';
 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' => __('99999999D'), // Texto de apoyo que se muestra dentro del campo
 ), $checkout->get_value( 'nif' )); // Identificador del campo
 echo '

';
 }
 add_action( 'woocommerce_after_checkout_billing_form', 'woo_custom_field_checkout' );

/*
 * ACTUALIZAR DETALLES DEL PEDIDO CON EL NUEVO CAMPO
 */
 function woo_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', 'woo_custom_field_checkout_update_order' );

/*
 * MOSTRAR VALOR DEL CAMPO NIF LA PÁGINA DE EDICIÓN DEL PEDIDO
 */
 function woo_custom_field_checkout_edit_order($order){
 echo '

'.__('NIF').': ' . get_post_meta( $order->id, 'NIF', true ) . '

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

/*
 * INCLUIR CAMPO NIF EN EL EMAIL DE NOTIFICACIÓN AL CLIENTE
 */
 function woo_custom_field_checkout_email($keys) {
 $keys[] = 'NIF';
 return $keys;
 }
 add_filter('woocommerce_email_order_meta_keys', 'woo_custom_field_checkout_email');