WP Form Wizard
Plugin Wordpress de criação de formulários dinâmicos
★ 0stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/nelclassico/wp-form-wizard/archive/refs/heads/main.zipINSTALAÇÃO
- Suba a pasta "wp-form-wizard" em /wp-content/plugins/
- Ative em Plugins.
- No menu "Formulários", crie um novo formulário.
- Use o construtor visual para montar Etapas > Seções > Campos.
- Publique e use o shortcode [wpfw_form id="X"] em qualquer página/post.
COMO FUNCIONA A RAMIFICAÇÃO (o "muda de acordo com o assunto")
- Cada campo do tipo "Cards de escolha" (card_choice), rádio ou lista suspensa pode ter, em cada opção, um campo "vai para: [etapa]".
- Quando o usuário escolhe essa opção, o formulário busca via AJAX (sem recarregar a página) o HTML da etapa configurada e substitui o conteúdo na tela, atualizando "Etapa X de Y".
- Se a opção não tiver etapa definida, o formulário usa o "next_step" padrão configurado na etapa.
- Se não houver next_step nenhum, aquela etapa é tratada como final (o botão vira "Enviar").
CAMPOS CONDICIONAIS (mostrar/esconder campo na MESMA etapa)
- Diferente da ramificação (que pula para outra etapa), um campo condicional aparece ou some dentro da própria etapa, na hora, sem ida ao servidor. Exemplo: um rádio "Sabe a data? Sim/Não" que, ao marcar "Sim", revela um campo de data logo abaixo.
- No construtor, marque "Só mostrar este campo condicionalmente" no campo que deve ficar escondido, escolha qual campo controla ele (precisa estar na mesma etapa) e qual valor ativa a exibição.
- Se o campo escondido tiver algo preenchido e o usuário mudar de ideia, o valor é limpo automaticamente ao esconder, pra não enviar resposta de algo que não ficou visível.
TIPOS DE CAMPO DISPONÍVEIS
- Texto curto / Texto longo / Data
- Lista suspensa / Rádio / Checkbox
- Upload de arquivo(s): permite selecionar vários arquivos, sobe cada um via AJAX assim que é escolhido (sem esperar avançar a etapa), valida extensão e o tamanho TOTAL do conjunto no navegador E no servidor (o navegador pode ser burlado, o PHP não). Por padrão aceita pdf, jpeg, jpg, png, tif, mp4, wmv, avi, mp3, wma, msg, ogg com limite de 15MB no total — dá pra mudar por campo no construtor. Os arquivos ficam na Biblioteca de Mídia, vinculados à resposta quando o formulário é enviado. Alguns desses formatos (.msg, .wma) não são liberados pelo WordPress por padrão; o plugin libera esses tipos automaticamente só durante o upload. IMPORTANTE: o servidor também precisa permitir esse tamanho de upload (php.ini: upload_max_filesize e post_max_size ≥ 15M), senão o PHP recusa antes mesmo do plugin validar.
- Cards de escolha (o estilo das telas de referência: ícone Font Awesome + título + descrição, clicável, avança sozinho ao clicar). O ícone é o nome da classe do Font Awesome, ex: "fa-solid fa-thumbs-up" (o construtor sugere alguns ícones comuns automaticamente). Font Awesome é carregado via CDN, não precisa instalar nada.
ONDE FICAM AS RESPOSTAS
- Menu Formulários > Respostas: cada envio vira um post com todas as respostas coletadas ao longo do fluxo, mostrando o RÓTULO de cada pergunta (com o ID do campo como referência menor embaixo).
- Hook "wpfw_after_submission" disponível para quem quiser mandar e-mail, integrar com outro sistema, etc.
NOTIFICAÇÃO POR E-MAIL
- No painel lateral de cada formulário (Formulários > editar um), tem a caixa "Notificação por e-mail": informe um ou mais e-mails (separados por vírgula) e cada nova resposta enviada dispara um e-mail automático com todas as perguntas/respostas (usando os rótulos configurados) e um link direto pra ver a resposta no admin. Deixe em branco pra não notificar ninguém.
- Usa a função wp_mail() do WordPress — se o servidor não tiver SMTP configurado, o e-mail pode cair no spam ou não sair; se isso acontecer, vale instalar um plugin de SMTP (WP Mail SMTP, por exemplo) e configurar o envio pelo provedor de e-mail da MPCE.
PRÓXIMOS PASSOS SUGERIDOS (para próximas rodadas)
- Exportação CSV das respostas
- Reordenar campos/seções por arrastar
- Validação de CEP/endereço via API (como na imagem 3)
- Limpeza automática (cron) de arquivos enviados mas nunca vinculados a uma resposta (se o usuário sobe um arquivo e abandona o formulário sem enviar, o arquivo fica na Biblioteca de Mídia)