¿Cómo añadir el RUT en el checkout de WooCommerce?

Ya hemos visto en otros tutoriales de tema de facturación cómo añadir a la página de finalizar compra el CIF/NIF en España o bien como debe ser esta página.

Cómo tengo muchos lectores chilenos, ellos tienen que poner el campo de RUT, que es el número de identificación allí. Así que si tenéis una tienda online que vende a Chile o estáis haciendo un Ecommerce allí en este tutorial veremos cómo añadirlo con un plugin o con código.

Con plugin

En este caso instalaremos del repositorio oficial de WordPress el plugin Rut Chileno con Validación para WooCommerce. Este plugin es muy liviano y entre sus funcionalidades te permite:

  • Añade el campo en el checkout
  • Puedes personalizar que sea obligatorio u opcional
  • Se guarda en la base de datos, es decir, sale en las notas del pedido tanto para nosotros como en el correo que le llega al cliente.
  • El campo valida la sintaxis del RUT.

Otro plugin que podemos usar que es más general es Checkout Manager for WooCommerce de Quadlayers. Sirve para modificar el Checkout a tu gusto.

En este caso lo uso para hacer el campo de RUT condicional, es decir, que se muestre cuando seleccionan Chile como país. Esto para tiendas online que venden para varios países.

Con código

Si no queremos instalar ningún plugin deberemos añadir este código en el functions.php o bien en el plugin Code Snippets como explico aquí.

/*
* Añadir casilla RUT en el checkout
*/
function woo_custom_field_checkout($checkout) {
  echo '<div id="additional_checkout_field">';
  woocommerce_form_field( 'rut', array( // Identificador del campo 
    'type'          => 'text',
    'class'         => array('my-field-class form-row-wide'),
    'required'      => true,            // Aquí muestra que no es obligatorio, si queres que sea obligatorio pon 'True' en vez de 'False'
    'label'       => __('RUT'),   // Nombre del campo 
    'placeholder'   => __('Ej: 21.322.303-0'), // Texto guía que se muestra dentro de la celda.
  ), $checkout->get_value( 'rut' ));    // Identificador del campo 
  echo '</div>'; 
}
add_action( 'woocommerce_after_checkout_billing_form', 'woo_custom_field_checkout' );
/*
* INCLUYE RUT EN LOS DETALLES DEL PEDIDO CON EL NUEVO CAMPO
*/
function woo_custom_field_checkout_update_order($order_id) {
  if ( ! empty( $_POST['rut'] ) ) {
    update_post_meta( $order_id, 'RUT', sanitize_text_field( $_POST['rut'] ) );
  }
}
add_action( 'woocommerce_checkout_update_order_meta', 'woo_custom_field_checkout_update_order' );
/*
* MUESTRA EL VALOR DEL CAMPO RUT LA PÁGINA DE MODIFICACIÓN DEL PEDIDO
*/
function woo_custom_field_checkout_edit_order($order){
  echo '<p><strong>'.__('RUT').':</strong> ' . get_post_meta( $order->id, 'RUT', true ) . '</p>';
}
add_action( 'woocommerce_admin_order_data_after_billing_address', 'woo_custom_field_checkout_edit_order', 10, 1 );
/*
* INCLUYE EL CAMPO RUT EN EL CORREO ELECTRÓNICO DE AVISO A TU CLIENTE
*/
function woo_custom_field_checkout_email($keys) {
  $keys[] = 'RUT';
  return $keys;
}
add_filter('woocommerce_email_order_meta_keys', 'woo_custom_field_checkout_email');

Espero que os haya servido, que eso es lo más importante y cualquier duda como siempre os leo en comentarios!

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Especialista en Comercio electrónico con Woocommerce. Te ayudo a crear, gestionar y publicitar tu Ecommerce en función de tu sector y público objetivo. Puedes encontrarme en Diegol.top

¿Necesitas ayuda con este tutorial? Mándame un correo y te resuelvo todas las dudas!


Ver servicios Contactar

También puedes suscribirte a mi newsletter para no perderte ninguna novedad

Reader Interactions

comentarios

Deja una respuesta

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