Como corrigir o formulário multi-página que não avanca no WPForms
O que é o WPForms multi-page que não avanca?
Um formulário multi-página no WPForms divide o formulário em várias telas usando o campo Page Break, e o visitante caminha entre elas pelos botões Next e Previous. Antes de liberar o avanco, o WPForms valida pelo navegador os campos obrigatorios da página atual. Quando o formulário não avanca, ou existe um campo obrigatório não preenchido ou invalido naquela página (e a validação segura o botão Next de proposito), ou o JavaScript que controla a navegação não carregou. Esse segundo caso costuma vir de plugin de cache ou de minificacao servindo o script antigo ou quebrado.
Como identificar
- O visitante clica em Next e o formulário continua na mesma página, sem trocar de tela e sem mensagem clara.
- Aparece a mensagem do próprio WPForms: “This page isn’t loading JavaScript properly, and the form will not be able to submit.” acima do formulário.
- Em vez do erro vermelho do WPForms no campo, surge o balao de validação nativo do navegador, sinal de que o JavaScript do plugin não esta rodando.
- Um campo obrigatório da página atual fica marcado em vermelho com “This field is required” e o avanco so volta a funcionar depois de preenche-lo.
- A barra de progresso ou os circulos de etapa não reagem ao clique no Next, parados na primeira etapa.
- O formulário avanca normalmente no preview do construtor do WPForms, mas trava na página publicada do site.
Como prevenir
- Sempre que ligar minificacao ou combine de JavaScript, adicione wpforms a lista de exclusão antes de publicar o formulário.
- Teste cada formulário multi-página numa janela anonima depois de qualquer mudanca de cache, tema ou plugin de otimização.
- Mantenha um campo obrigatório por página o mais visivel possível e evite escondelo com lógica condicional que possa prender a validação.
- Ao adicionar plugins novos, repita o teste do botão Next, já que conflitos de JavaScript so aparecem na página publicada.
Causa
- Ha um campo obrigatório não preenchido ou invalido na página atual, e a validação do WPForms segura o botão Next até o campo ficar valido.
- Um plugin de cache serviu a versão antiga da página e do JavaScript do WPForms, entao o formulário publicado roda um script defasado que não controla mais a navegação.
- A minificacao ou o combine de JavaScript do plugin de otimização quebrou o arquivo assets/js/frontend/wpforms.min.js, e a página mostra o aviso de JavaScript do WPForms.
- Outro plugin ou o tema lancou um erro de JavaScript na página que interrompe a execução antes do script do WPForms inicializar a navegação entre páginas.
- O campo Page Break foi removido ou ficou solto fora da ordem no construtor, entao a fronteira de página que o botão Next deveria atravessar não existe mais.
- Uma regra de lógica condicional escondeu o campo Page Break ou o último campo obrigatório da página, deixando a validação presa num campo que o visitante nem ve.
Como resolver
- Confirme se e validação de campo obrigatório: abra o formulário publicado, preencha todos os campos visiveis da página atual e clique em Next. Se um campo ficar vermelho pedindo preenchimento, a navegação esta correta e o problema era so o campo obrigatório. Procure também campos obrigatorios escondidos por lógica condicional na página.
Mensagem esperada no campo: This field is required Preencher o campo vermelho -> clicar em Next de novo - Verifique se o JavaScript do WPForms esta carregando: se ao clicar em Next aparece o balao nativo do navegador em vez do erro vermelho do plugin, ou surge o aviso do WPForms no topo, o JavaScript não esta rodando. Esse e o sinal de que a causa esta no cache ou na otimização, não no formulário em si.
- Aviso do WPForms: This page isn't loading JavaScript properly, and the form will not be able to submit.
- Limpe o cache e teste em janela anonima: salve qualquer alteração, limpe o cache do plugin de cache, o cache do CDN e o cache do navegador, e abra a página do formulário numa janela anonima. Isso descarta o caso de o site estar servindo a página e o script antigos.
Limpar cache do plugin de cache -> limpar cache do CDN Abrir a página do formulário em janela anonima e testar o Next - Exclua o JavaScript do WPForms da minificacao: no plugin de otimização, adicione os scripts do WPForms a lista de exclusão de minificar e combinar JavaScript. Assim o arquivo que controla a navegação multi-página carrega intacto. Depois limpe o cache de novo e teste.
Excluir da minificacao/combine de JS: wpforms wp-content/plugins/wpforms-lite/assets/js/frontend/wpforms.min.js wp-content/plugins/wpforms/assets/js/frontend/wpforms.min.js Handle do script: wpforms - Faca o teste de conflito de plugin e tema: se o JavaScript ainda falha, desative os outros plugins um a um e teste o Next a cada desativacao. Se resolver, reative até achar o culpado. Por fim troque para um tema padrão por um instante para descartar o tema como origem do erro de JavaScript.
Plugins -> desativar plugins suspeitos um a um -> testar o Next Aparencia -> Temas -> ativar Twenty Twenty-Four -> testar o Next - Confira o campo Page Break no construtor: abra o formulário no construtor do WPForms e confirme que cada quebra de página tem um campo Page Break na posicao certa, com o rotulo do botão definido. Se uma regra de lógica condicional esconde o Page Break ou o último campo obrigatório da página, ajuste a regra para não prender a validação.
WPForms -> Todos os formulários -> editar formulário Conferir campo Page Break entre as páginas -> Next Label preenchido
// functions.php do tema filho — forca o WPForms a sempre enfileirar os scripts do
// frontend, mesmo quando o tema ou um otimizador deixa de carregar o JavaScript
// que controla a navegacao multi-pagina. Use so quando o aviso de JavaScript
// persiste mesmo apos limpar cache e excluir o wpforms da minificacao.
add_filter( 'wpforms_global_assets', '__return_true' );
add_action( 'wp_enqueue_scripts', function () {
if ( function_exists( 'wpforms' ) && method_exists( wpforms()->frontend, 'assets_js' ) ) {
wpforms()->frontend->assets_js();
}
}, 20 );














