🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir a lógica condicional que não funciona no WPForms

Time Full Services Time Full Services
Tipo Outros erros
Nome do erro Lógica condicional não funciona no WPForms EN: WPForms conditional logic not working
Severidade Grave
Descrição A lógica condicional WPForms não funciona quando as regras Smart Logic não executam no frontend e os campos deixam de aparecer ou esconder conforme a resposta do usuário. A causa quase sempre esta no JavaScript do formulário que não carrega.

O que é lógica condicional WPForms que não funciona?

A lógica condicional WPForms (aba Smart Logic, opção Enable Conditional Logic) controla, no navegador do visitante, quais campos aparecem ou somem conforme a escolha em um campo gatilho como Dropdown, Multiple Choice ou Checkboxes. Quando ela não funciona, o formulário ignora as regras Show/Hide: campos que deveriam aparecer continuam ocultos, ou campos que deveriam sumir permanecem visiveis, geralmente porque o arquivo wpforms.min.js não foi carregado ou foi alterado por outro plugin.

Como identificar

  • O campo configurado com a regra Show ou Hide nunca muda de estado ao selecionar a opção gatilho no formulário publicado.
  • No console do navegador aparece o erro Uncaught ReferenceError: wpforms is not defined ou uma falha 404 ao carregar wpforms.min.js.
  • A lógica funciona normalmente na previa dentro do construtor (Form Builder), mas não funciona na página real do site.
  • Após ativar um plugin de cache ou de otimização, o formulário que funcionava parou de aplicar as regras condicionais.

Como prevenir

  • Sempre que ativar ou reconfigurar um plugin de cache, abra um formulário com lógica condicional em aba anonima e confirme que as regras Show e Hide ainda disparam.
  • Adicione os caminhos de assets do WPForms a lista de exclusão de JavaScript do cache logo na configuração inicial, antes de publicar formulários complexos.
  • Ao renomear ou excluir um campo gatilho, revise todas as regras Smart Logic que apontavam para ele, porque a condicao orfa para de funcionar silenciosamente.
  • Evite usar campos do tipo Layout ou Page Break como gatilho de condicao; prefira Dropdown ou Multiple Choice, que são suportados oficialmente.

Causa

  • A opção Enable Conditional Logic na aba Smart Logic do campo não esta marcada, ou a regra aponta para um campo gatilho que foi renomeado ou excluido depois de criada.
  • Um plugin de cache como WP Rocket ou LiteSpeed Cache esta com Combine JavaScript ou Delay JavaScript Execution ligado e quebra ou atrasa o arquivo wpforms.min.js que executa a lógica.
  • O modo Minify JavaScript do plugin de otimização corrompe o script do WPForms, gerando o erro Uncaught ReferenceError: wpforms is not defined no console.
  • O campo gatilho usado na condicao e do tipo Layout, Page Break, Entry Preview ou outro campo não suportado pela lógica condicional, entao a regra nunca dispara.
  • Um tema ou plugin carrega uma versão antiga ou duplicada do jQuery que entra em conflito com o jquery.confirm que o WPForms usa para avaliar as condicoes.

Como resolver

  1. Confirme a regra dentro do construtor: Abra o formulário, clique no campo que deveria aparecer ou sumir e va até a aba Smart Logic. Verifique se Enable Conditional Logic esta marcada e se o campo gatilho selecionado em Select Field ainda existe e e do tipo suportado.
    WPForms -> Todos os Formulários -> editar formulário -> clicar no campo -> aba Smart Logic -> Enable Conditional Logic
  2. Troque o campo gatilho por um tipo suportado: Se o gatilho era um campo de Layout ou Page Break, recrie a condicao usando um campo suportado como Dropdown, Multiple Choice, Checkboxes ou Single Line Text. A lógica condicional so dispara a partir desses tipos.
    Tipos suportados como gatilho: Single Line Text, Dropdown, Multiple Choice, Checkboxes, Email, Number Slider, Rating
  3. Abra o console e identifique o erro de JavaScript: Na página publicada do formulário, abra as ferramentas do navegador na aba Console e recarregue. Se aparecer que wpforms não esta definido ou um 404 no script, o problema e o carregamento do JavaScript, não a regra.
    F12 -> aba Console -> recarregar a página (Ctrl+F5)
    Procurar: Uncaught ReferenceError: wpforms is not defined
  4. Exclua o WPForms da otimização de JavaScript: No plugin de cache, desative a combinacao, o adiamento e a minificacao de JavaScript para os scripts do WPForms. No WP Rocket isso fica em File Optimization; depois limpe todo o cache e teste de novo.
    WP Rocket -> File Optimization -> desmarcar Combine JavaScript files
    WP Rocket -> File Optimization -> Delay JavaScript Execution -> adicionar exclusão: /wpforms/assets/js/
    Limpar cache: WP Rocket -> Dashboard -> Clear and preload cache
  5. Force o WPForms a carregar o JavaScript no rodape: Se o conflito de carregamento persistir, ajuste em WPForms a forma de incluir os scripts para que carreguem sem depender da otimização agressiva, e teste o formulário em uma aba anonima com o cache limpo.
    WPForms -> Configurações -> Geral -> Carregar Assets -> alternar entre as opções de carregamento
JavaScript
/* functions.php do tema filho: garante que os assets do WPForms
   carregam em todas as paginas, evitando que a logica condicional
   falhe quando o formulario e inserido via shortcode/bloco. */
add_filter( 'wpforms_global_assets', '__return_true' );

/* Exclusao para WP Rocket: nao adiar/combinar o JS do WPForms.
   Cole em wp-rocket-config ou no filtro abaixo (functions.php). */
add_filter( 'rocket_delay_js_exclusions', function( $excluded ) {
    $excluded[] = '/wpforms/assets/js/';
    $excluded[] = 'wpforms';
    return $excluded;
} );

Perguntas frequentes

Por que a lógica condicional WPForms funciona no construtor mas não no site?
A previa do construtor avalia as regras em ambiente isolado, sem cache nem otimização. No site publicado, um plugin de cache pode atrasar ou quebrar o arquivo wpforms.min.js, entao as regras Show e Hide não executam no navegador do visitante.
O erro wpforms is not defined no console tem relacao com a lógica condicional?
Sim. Esse erro indica que o JavaScript do WPForms não carregou ou foi corrompido pela minificacao. Como a lógica condicional depende desse script para avaliar as condicoes, ela para por completo quando o erro aparece.
Quais campos posso usar como gatilho da lógica condicional no WPForms?
A lógica dispara a partir de Single Line Text, Paragraph Text, Dropdown, Multiple Choice, Checkboxes, Email, Number Slider, Rating e Net Promoter Score. Campos como Layout, Page Break e Entry Preview não funcionam como gatilho.
Como excluir o WPForms da otimização de JavaScript do WP Rocket?
No WP Rocket, na aba File Optimization, desmarque Combine JavaScript files e, em Delay JavaScript Execution, adicione o caminho dos assets do WPForms na lista de exclusão. Depois limpe todo o cache e teste o formulário.
Preciso do WPForms Pro para usar lógica condicional?
A lógica condicional de campos esta disponível a partir das versões pagas do WPForms. Na versão gratuita ela e limitada, entao confirme seu plano antes de configurar regras avancadas de Show e Hide em campos de formulário.
A lógica condicional pode esconder campos obrigatorios sem causar erro de envio?
Sim. Quando um campo obrigatório fica oculto por uma regra de lógica condicional, o WPForms ignora a obrigatoriedade desse campo no envio, entao o formulário não trava por causa de um campo que o visitante nem chegou a ver.
Conflito de jQuery pode quebrar a lógica condicional do WPForms?
Pode. Se um tema ou plugin carrega uma versão antiga ou duplicada do jQuery, o script que avalia as condicoes do WPForms pode falhar. Desative os outros plugins um a um para identificar o conflito e atualize o componente responsável.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes