WP Manifestindependent plugin directory
manifest / forms / wp-form-wizard

WP Form Wizard

Plugin Wordpress de criação de formulários dinâmicos

by Emanoel · github.com/nelclassico/wp-form-wizard

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.zip

INSTALAÇÃO

  1. Suba a pasta "wp-form-wizard" em /wp-content/plugins/
  2. Ative em Plugins.
  3. No menu "Formulários", crie um novo formulário.
  4. Use o construtor visual para montar Etapas > Seções > Campos.
  5. 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)