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!
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