Por padrão, a Calculadora de Frete Otimizada detecta apenas o estado pelo CEP — porque o estado é suficiente pra calcular frete na maioria das tabelas (Correios, Jadlog, Total Express etc).
Algumas regras de frete dependem da cidade exata — por exemplo, "frete grátis pra capital", "taxa diferenciada pra grande São Paulo". Pra essas, ative a opção Identificar cidade automaticamente.
Como ligar
- Acesse WooCommerce → Configurações → Entrega.
- Role até Otimização da calculadora.
- Marque Identificar cidade automaticamente.
- Clique em Salvar alterações.
Como funciona
Quando ligada, a opção:
- Lê o CEP que o cliente digitou.
- Faz uma consulta na API pública ViaCEP —
https://viacep.com.br/ws/{CEP}/json/. - Pega o nome da cidade (campo
localidadena resposta). - Preenche a cidade no endereço usado pra calcular o frete.
A consulta normalmente leva menos de 1 segundo — imperceptível pro cliente.
Fallback
Se o ViaCEP estiver fora do ar ou o CEP não for encontrado, o plugin retorna - como cidade. O frete continua sendo calculado pelo estado, e o cliente não vê nenhum erro.
A API pública do ViaCEP tem alta disponibilidade e não pede registro nem chave. Mas como qualquer serviço externo, pode ter quedas pontuais. Por isso o fallback existe — sua loja não trava por causa disso.
Quando faz sentido ligar
- Você usa regras de frete por cidade (frete grátis pra capital, fixo pra cidade específica).
- Você integra com transportadoras que exigem cidade no payload (Jadlog em algumas configurações, transportadoras regionais).
- Você quer mostrar a cidade detectada em algum lugar do checkout.
Se nenhum dos itens acima se aplica, deixe desligado: cada cálculo dispara uma requisição externa, e mesmo sendo rápida, é uma chamada a menos.
Customizar via código
Pra ligar/desligar a identificação de cidade programaticamente sem mexer no admin, use o filtro wc_shipping_calculator_improvements_find_city. Veja Customizar opções via código.