A Calculadora de Frete Otimizada oculta País e Estado da calculadora por padrão — esse é o ponto principal do plugin: deixar só o CEP, já que o estado é detectado automaticamente.
Em alguns casos você quer trazer um ou mais desses campos de volta:
- Sua loja vende fora do Brasil (precisa de País).
- Você usa um sistema de frete que exige seleção manual de Estado independente do CEP (raro).
- Você quer mostrar a cidade como campo editável no carrinho (geralmente pra clientes empresariais).
Os filtros disponíveis
| Filtro | Campo controlado | Padrão do plugin |
|---|---|---|
woocommerce_shipping_calculator_enable_country |
País | false (oculto) |
woocommerce_shipping_calculator_enable_state |
Estado | false (oculto) |
woocommerce_shipping_calculator_enable_city |
Cidade | false (oculto) |
Os três filtros são do WooCommerce (não do plugin), e o plugin os força pra false na inicialização. Pra trazer um campo de volta, retorne true com prioridade maior que 10 (a do plugin).
Exemplo: mostrar País novamente
Se você vende pro Brasil e Argentina, traga o País de volta:
add_filter( 'woocommerce_shipping_calculator_enable_country', '__return_true', 20 );
Exemplo: mostrar Estado novamente
add_filter( 'woocommerce_shipping_calculator_enable_state', '__return_true', 20 );
Se você forçar o Estado a aparecer, o plugin ainda vai tentar detectar pelo CEP — mas o cliente vai conseguir sobrescrever. Se ele selecionar o estado errado, o frete será calculado pro estado errado.
Exemplo: mostrar Cidade
add_filter( 'woocommerce_shipping_calculator_enable_city', '__return_true', 20 );
Combina bem com a opção Identificar cidade automaticamente desligada — o cliente preenche manualmente.
Exemplo: mostrar todos os três
add_filter( 'woocommerce_shipping_calculator_enable_country', '__return_true', 20 );
add_filter( 'woocommerce_shipping_calculator_enable_state', '__return_true', 20 );
add_filter( 'woocommerce_shipping_calculator_enable_city', '__return_true', 20 );
Equivale a desligar boa parte do plugin pra esse cliente. Útil só em casos muito específicos.
Exemplo: mostrar País só pra usuários estrangeiros
Se você quer manter o fluxo limpo pra brasileiros mas deixar opção pra clientes que se identificam como fora:
add_filter( 'woocommerce_shipping_calculator_enable_country', function() {
$user = wp_get_current_user();
return $user->ID && get_user_meta( $user->ID, 'is_international', true );
}, 20 );
Onde colocar o código
functions.php do tema filho, plugin de snippets ou plugin próprio. Nunca dentro do diretório do plugin.
Filtros relacionados
- Customizar opções via código — pra controlar as configurações do plugin (sempre visível, máscara, etc).
- Customizar o endereço usado no cálculo — pra interceptar o endereço antes do WooCommerce calcular o frete.