Especialmente para los sitios B2B, es probable que los clientes sean administrados por el administrador de la tienda y no se les permita cambiar su dirección de facturación/envío a menos que soliciten actualizarlo.

Pero incluso si simplemente tiene curiosidad, hay una manera de convertir cada campo de pago en entradas de solo lectura. De esta manera, la dirección de facturación y envío guardada se cargará, y el cliente iniciado no podrá cambiar ningún dato antes del pago.

Una pequeña nota: el país y el estado son menores, y esto significa que agregar el atributo «Readonly» no le impedirá cambiar el valor seleccionado. Sin embargo, si giramos todos los campos al tipo de entrada «texto», este problema desaparecerá. Y es por eso que encuentras dos declaraciones en el fragmento a continuación; Primero convertimos el campo en una entrada de texto, y luego lo hacemos de solo lectura.

¡Disfrutar!

¡Todos los campos de facturación y envío ahora son lectores, incluido el menú desplegable del país (que originalmente fue un menú desplegable)!

Php Snippet: agregue el atributo «Readonly» a los campos de facturación y envío de facturación de WooCommerce

/**  n*@snippet       Read-only Billing & Shipping @ Woo Checkout  n*@tutorial      Get CustomizeWoo.com FREE  n*@author        Tomás Lucas D´Amario, TD Estudio Design  n*@compatible    WooCommerce 8  n*@community     Join https://tdestudiodesign.com/club */add_filter( 'woocommerce_checkout_fields', 'tddesign_checkout_fields_readonly', 9999 );function tddesign_checkout_fields_readonly( $fields ) {foreach ( $fields['billing'] as $field_key => $field_atts ) {$fields['billing'][$field_key]['type'] = 'text';$fields['billing'][$field_key]['custom_attributes'] = array( 'readonly' => 'readonly' );}foreach ( $fields['shipping'] as $field_key => $field_atts ) {$fields['shipping'][$field_key]['type'] = 'text';$fields['shipping'][$field_key]['custom_attributes'] = array( 'readonly' => 'readonly' );}return $fields;}

¿Dónde agregar código personalizado?

Debes colocar PHP personalizado en funciones.php y CSS personalizado en style.css del tema de su hijo: ¿Dónde colocar la personalización de WooCommerce?

Este código todavía funciona, a menos que informe lo contrario. Para excluir los conflictos, cambie temporalmente al tema de la tienda, deshabilite todos los complementos, excepto WooCommerce, y pruebe el fragmento nuevamente: Solución de problemas de WooCommerce 101

Contenido relacionado

Tomás Lucas D´Amario

Programador y Desarrollador

Experto en WooCommerce y WordPress. Trabajando como un profesional independiente de WooCommerce desde 2016. Su objetivo es ayudar a los empresarios y desarrolladores a superar sus pesadillas de WooCommerce. Sigueme o contactame por Linkedin