Deixar Os Campos de Checkout no Modo Leitura

1. O problema

Se você tem um ecommerce, muitas vezes deve ter se deparado (ou ainda irá se deparar) com clientes que burlam o registro e colocam dados diferentes para que a entrega seja mais barata.

De modo padrão, o WooCommerce permite que todos os campos de finalização sejam editáveis: rua, número, bairro, cidade, estado, país, etc.

O problema é que a taxa de frete da maioria dos ecommerces é calculada por CEP e como todos os campos são editáveis, um cliente mal intencionado pode colocar um CEP diferente e depois alterar o endereço, mesmo com o CEP de outro lugar.

Na imagem abaixo, um cliente digita um CEP de Copacabana, no Rio de Janeiro, e depois preenche os dados de um outro bairro, 60km de distancia da loja e neste caso, a empresa não entrega.

finalizando-compra-woocommerce-flatsome

O cliente pode alegar que fez o pedido, contava com o pedido e o sistema aceitou, culpando a empresa e o site pelo erro e até pedir reparação. Sim, tem gente malandra assim!

2. A solução

Para resolver essa situação, podemos definir que os campos não sejam editáveis, e que sejam preenchidos automaticamente e apenas após a inserção de CEP.
Podemos definir que os campos bairro, cidade e estado sejam preenchidos após o cliente digitar o CEP.

Para isso você deve ir até o functions.php do seu tema (ou do seu child theme) e inserir o código abaixo:

add_filter(‘woocommerce_billing_fields’, ‘my_woocommerce_billing_fields’);
function my_woocommerce_billing_fields($fields)
{
$fields[‘nome-do-campo’][‘custom_attributes’] = array(‘readonly’=>’readonly’);

return $fields;
}

2.a – Checar o campo pelas Ferramentas de Desenvolvedor do navegador

Os nomes dos campos são quase sempre os mesmos, porém algum tema ou plugin pode altera-lo, e podem estar personalizados.
Para descobrir o campo que você quer configurar como não editável, vá no modo inspecionar do seu navegador e coloque o mouse em cima do elemento, e aparecerá algo como:

descobrindo campos checkout v1

2.b – Checar os campos por plugin

Ou você pode instalar o plugin Checkout Field Editor (Checkout Manager) for WooCommerce

Finalizando

Depois de verificar os campos e definir quais serão, basta vc trocar esse trecho:

$fields[‘nome-do-campo’][‘custom_attributes’] = array(‘readonly’=>’readonly’);

por

$fields[‘billing_city’][‘custom_attributes’] = array(‘readonly’=>’readonly’);

Vá adicionando todos os campos que quiser, mas recomendamos que você use apenas os 3 principais:
billing_city para cidade
billing_neighborhood para bairro
billing_state para estado

Salve o functions.php e teste.

Qualquer dúvida, comenta aí!

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest

Deixe um comentário

O seu endereço de e-mail não será publicado.

Testimonials
Subscribe Newsletter

Integer posuere erat a ante venenatis dapibus posuere velit aliquet sites ulla vitae elit libero 

Set your categories menu in Theme Settings -> Header -> Menu -> Mobile menu (categories)
Create your first navigation menu here
Start typing to see posts you are looking for.