FernandoAcosta.Netdocs

Customizar opções da Calculadora de Frete via código

2 min de leituraAtualizado há 5 dias

As cinco configurações da Calculadora de Frete Otimizada têm filtros equivalentes que você pode usar pra ligá-las/desligá-las programaticamente, sem mexer no admin.

Útil quando:

  • Você quer ligar uma opção só pra usuários logados, ou só em carrinhos acima de X.
  • Você quer forçar uma configuração num ambiente (staging, produção) sem depender do banco.
  • Você está distribuindo um tema/plugin filho que precisa ditar comportamento.

Os filtros disponíveis

Cada filtro tem prioridade 20 internamente, então use prioridade 30 ou maior se quiser sobrescrever:

Filtro Configuração equivalente
wc_shipping_calculator_improvements_always_visible Sempre visível
wc_shipping_calculator_improvements_hide_estimated_time Mensagem de estimativa
wc_shipping_calculator_improvements_mask Máscara de campo
wc_shipping_calculator_improvements_find_city Identificar cidade automaticamente

Todos retornam boolean. Retorne true pra ligar, false pra desligar.

Não há filtro pra "Calcular automaticamente"

A opção Calcular automaticamente é controlada apenas pela configuração no admin. Se precisar, sobrescreva via filtro do WordPress option_wc_shipping_calculator_auto_calculate.

Exemplo: sempre visível só pra usuário logado

add_filter( 'wc_shipping_calculator_improvements_always_visible', function() {
    return is_user_logged_in();
}, 30 );

Exemplo: forçar máscara em qualquer ambiente

add_filter( 'wc_shipping_calculator_improvements_mask', '__return_true', 30 );

Exemplo: ligar identificação de cidade só na produção

add_filter( 'wc_shipping_calculator_improvements_find_city', function() {
    return wp_get_environment_type() === 'production';
}, 30 );

Exemplo: ocultar estimativa para usuários de uma role específica

add_filter( 'wc_shipping_calculator_improvements_hide_estimated_time', function() {
    if ( current_user_can( 'wholesale_customer' ) ) {
        return true;
    }
    return false;
}, 30 );

Onde colocar o código

Funções acima vão em qualquer lugar onde você normalmente coloca PHP custom: functions.php do tema filho, plugin de snippets (Code Snippets, FluentSnippets) ou um plugin próprio.

Não edite o plugin

Edite fora do código do plugin. Qualquer alteração dentro de wp-content/plugins/wc-shipping-calculator-improvements/ será sobrescrita na próxima atualização automática.

Filtros relacionados

Foi útil?