Visão geral e requisitos
O MevvForms Free é o runtime local. Um formulário publicado é lido de um registro de formulário do WordPress versionado, renderizado com rótulos reais e relações de erro, validado outra vez no servidor, armazenado localmente e entregue a uma fila de notificações durável.
- WordPress
- 6.6 ou superior; testado até o WordPress 7.1.
- PHP
- 8.1 ou superior; a matriz de releases cobre PHP 8.1–8.5.
- Fronteira dos dados
- As definições de formulário, as entradas e os trabalhos na fila permanecem no site WordPress por padrão.
- Tabelas
- Treze tabelas próprias: os envios e seus valores tipados, a fila de tarefas, os arquivos, os envios parcialmente concluídos, o registro de notificações, dois contadores de analítica, os vínculos de conteúdo, o estoque, os cupons, os pagamentos e os eventos de pagamento.
- Trabalho agendado
- Duas tarefas de hora em hora. Uma aplica a retenção, a outra esvazia a fila única de tarefas que carrega notificações, feeds adiados e exportações — uma fila única em vez de um cron por recurso.
- Arquivos de tradução
- Dezenove locales do WordPress vêm com o plugin, catálogos-fonte incluídos.
O Free não faz nenhuma requisição de licença, telemetria, IA ou atualização a um serviço externo enquanto um visitante renderiza ou envia um formulário.
Instalação
- Faça um backup restaurável do banco de dados e de wp-content.
- Envie e ative o ZIP do MevvForms Free.
- Confirme que as tabelas de banco de dados do MevvForms foram criadas e que um administrador consegue abrir o painel.
- Mantenha o plugin de formulários de origem ativo até que a prévia da migração, a importação e as verificações de integridade estejam concluídas.
- Instale o complemento Pro correspondente apenas quando o formulário salvo usar um módulo Pro já lançado.
Não remova o pacote Free enquanto o Pro estiver instalado. O runtime do formulário salvo pertence ao Free; o Pro o estende.
O construtor
Os campos são arrastados até o lugar, e tudo o que o mouse consegue fazer o teclado também consegue. Adicionar, selecionar e remover um campo são botões comuns, então Enter e Espaço já funcionam; mover um campo tem um atalho próprio, Ctrl com a seta para cima ou para baixo, que aciona exatamente o mesmo movimento de um arraste. Depois de cada alteração o foco volta ao cartão com o qual você estava trabalhando, e uma região viva anuncia o que aconteceu — “Movido E-mail da posição 2 para a posição 5 de 9” — de modo que a reordenação pode ser acompanhada sem visão.
As colunas são uma ferramenta de layout com uma regra anexada: a ordem de leitura precisa permanecer idêntica à ordem dos campos. Isso é verificado no servidor, não deixado para o CSS. Um layout que colocaria os campos na página em uma ordem diferente da do esquema é recusado com um erro em vez de renderizado, porque um leitor de tela e um visitante vidente precisam receber o mesmo formulário.
- Salvamento automático
- O rascunho é gravado no próprio registro de rascunho do formulário cerca de dois segundos e meio depois de você parar de digitar. Ele nunca toca no formulário publicado e nunca cria uma revisão do WordPress, então o salvamento automático não consegue publicar nada por acidente.
- Revisões
- Salvar usa o próprio sistema de revisões do WordPress em vez de um privado, o que significa que as revisões ficam visíveis para qualquer outra coisa que entenda WordPress. O construtor lista as cinquenta mais recentes e restaura qualquer uma delas.
Não existe desfazer ou refazer no construtor. Restaurar uma revisão anterior é o caminho de volta, e isso restaura o formulário inteiro, não a última ação. Se você está prestes a fazer uma mudança grande, salve antes para que haja uma revisão para a qual voltar.
Tipos de campo
Trinta e oito tipos de campo, em cinco grupos. Estão todos no pacote gratuito, incluindo assinatura, repetidor, matriz e questionário.
- Básico
- Texto de uma linha, texto em parágrafo, e-mail, e-mail com confirmação, telefone, URL do site, número, senha, valor oculto.
- Escolha
- Lista suspensa, lista suspensa com seleção múltipla, grupo de opção (radio), grupo de caixas de seleção, caixa de seleção única, consentimento, avaliação, ranqueamento, controle deslizante.
- Avançado
- Nome, endereço, data, hora, data e hora, cor, envio de arquivo.
- Pagamento
- Cálculo, total do pedido, produto, código de desconto.
- Layout
- Título, quebra de seção, divisor, bloco de conteúdo, quebra de página. Esses não carregam entrada nem produzem valor armazenado.
Um campo de senha é renderizado e validado, mas seu valor nunca é gravado em um envio. O mesmo vale para qualquer campo marcado como não armazenado. Os campos de cálculo e total até mostram uma caixa na tela, mas seu valor não vem do navegador: o servidor reexecuta a fórmula e sobrescreve o que chegou.
Modelos
Vinte e oito formulários prontos, pensados como ponto de partida e não como produto acabado: contacto, pedido de orçamento, candidatura a emprego, inscrição em evento, inquérito de opinião, pedido de suporte, pedido de marcação, subscrição de newsletter, encomenda de produto, reclamação, donativo, reserva de mesa, registo de utilizador, questionário, sondagem, envio de ficheiro, testemunho, inquérito de saída, pedido de manutenção, agendamento de reunião, inscrição em curso, consentimento parental, inquérito de recomendação, reserva de alojamento, inscrição de voluntários, relatório de erro, registo de fornecedor e pedido de retorno de chamada.
Um modelo é copiado para um novo formulário e depois editado; não é um vínculo ao vivo, então alterar um modelo depois não muda os formulários já construídos a partir dele.
Renderizar e enviar um formulário
Insira um formulário publicado com [mevvforms id="123"]. O renderizador imprime identificadores de campo estáveis, rótulos reais, descrições, um alvo de resumo de erros e uma sessão assinada vinculada à revisão atual do formulário.
No editor de blocos a mesma coisa é um bloco — MevvForms Form — e sua pré-visualização não é uma aproximação: o editor pede ao servidor para renderizar o bloco, e o servidor o renderiza exatamente com o código que o front-end usa. O que você vê no editor é a página.
- O estado de obrigatoriedade e as regras de validação vêm do esquema que pertence ao servidor.
- Valores ocultos ou desconhecidos do cliente não podem afrouxar as regras do servidor.
- Um envio válido cria a entrada antes de qualquer efeito colateral de notificação ser executado.
- A resposta contém a mensagem configurada ou o redirecionamento seguro, nunca os valores de campo armazenados.
Se um formulário mudou depois de a página ter sido aberta, atualize a página antes de enviar para que a sessão assinada corresponda à revisão atual.
Lógica condicional
Um campo pode ser mostrado ou ocultado com base no valor de outros campos, com grupos E e OU aninhados uns dentro dos outros até dez níveis de profundidade. Catorze operadores estão disponíveis: igual a, diferente de, contém, não contém, começa com, termina com, está vazio, não está vazio, maior que, menor que, maior ou igual a, menor ou igual a, é um de, e não é um de.
As condições são reavaliadas no servidor a cada envio. Um campo que o navegador ocultou ainda pode ser enviado à mão, então ocultá-lo no navegador é uma conveniência, nunca uma regra. A mesma avaliação decide quais campos existem para validação, para armazenamento e para o corpo da notificação — o que também significa que o formulário se comporta corretamente com o JavaScript desativado, só que sem a exibição e ocultação ao vivo.
Formulários multietapas e salvar-e-continuar
Uma quebra de página transforma um formulário em várias etapas. É um campo de layout comum, então um formulário longo se torna um formulário multietapas ao adicionar um campo, não ao convertê-lo em outra coisa.
Salvar-e-continuar mantém um envio parcialmente concluído e entrega ao visitante um link de volta a ele. O link carrega um token assinado — o identificador da linha e um HMAC sobre ele — e a assinatura é derivada do próprio segredo do site. Nada no banco de dados é suficiente para forjar um sozinho, a comparação é feita em tempo constante, e o link expira depois de trinta dias.
O token é a credencial: nenhum login é exigido e nenhum cookie é definido, então qualquer pessoa que tenha o link pode continuar aquele envio. Trate um link de retomada como trataria um link de redefinição de senha — envie-o à pessoa, não a uma caixa de entrada compartilhada.
Entradas e fronteira de privacidade
As entradas e as projeções tipadas dos campos são armazenadas em tabelas locais dedicadas. Senhas, dados de cartão, CVV, nonces do WordPress, tokens de sessão e campos marcados com store=false nunca são gravados nos valores da entrada.
- Os endereços IP são representados apenas por um HMAC específico do site onde a limitação de frequência precisa disso.
- As projeções de texto, numéricas e de data permitem buscas posteriores sem mudar a identidade original do campo.
- Uma gravação malsucedida da entrada ou da caixa de saída reverte por completo a transação do envio.
- A evidência de produção registra apenas os identificadores de formulário, entrada e trabalho; ela nunca registra os valores enviados.
A lista de envios pesquisa nos valores armazenados, filtra por status, por estado de lido e favoritado e por intervalo de datas, e aplica lido, não lido, favoritar, desfavoritar, spam, lixeira, restaurar e excluir a uma seleção de uma vez. Cada uma dessas ações é verificada contra suas permissões separadamente, então uma função que pode ler envios mas não excluí-los não consegue excluí-los por uma ação em massa.
- CSV que abre corretamente
- O arquivo começa com uma marca de ordem de bytes (BOM), que é o que faz o Excel lê-lo como UTF-8 — sem ela, os caracteres turcos chegam corrompidos e a reação habitual é culpar a exportação em vez da codificação.
- CSV que não pode executar
- Um valor que começa com
=,+,-,@, uma tabulação ou um retorno de carro recebe um apóstrofo como prefixo. Esses caracteres fazem uma planilha tratar um valor enviado como uma fórmula, e um formulário é exatamente o lugar onde um estranho escolhe esse valor.
Notificações e confirmações
As notificações são trabalhos duráveis. Uma queda do e-mail não pode apagar uma entrada aceita: falhas transitórias são repetidas com esperas limitadas, enquanto erros permanentes de configuração param à espera da ação de um administrador.
Um formulário pode carregar várias notificações, cada uma com seus próprios destinatários, assunto, corpo e condição. Os destinatários podem ser endereços fixos, endereços tirados de um campo que o visitante preencheu, ou rotas escolhidas pelo valor de um campo — e toda rota correspondente é usada, não apenas a primeira, porque um formulário que chega ao mesmo tempo às vendas e ao suporte é o caso normal, não um erro. Uma resposta automática é o mesmo mecanismo apontado de volta para a pessoa que preencheu o formulário.
- Cabeçalhos
- Os destinatários e as tags de mesclagem dos cabeçalhos são validados; a injeção de CR/LF é removida.
- Corpo
- O HTML é escapado ou filtrado conforme o seu contexto de saída.
- Confirmação
- As decisões de mensagem, página do mesmo site e redirecionamento permitido são escolhidas no esquema salvo.
- Idempotência
- A mesma chave de trabalho de notificação não pode criar o mesmo efeito colateral duas vezes.
- Registro de entregas
- Uma linha por tentativa: qual formulário, envio, notificação e tarefa; se foi enviada ou falhou; qual tentativa foi; os destinatários, o assunto e o código e a mensagem de erro. Uma linha com falha pode ser reenviada pela própria tela.
O registro anota o que foi tentado, não o que foi entregue. O e-mail é entregue ao WordPress e dali à sua hospedagem; uma linha marcada como enviada significa que saiu do site, e só um retorno (bounce) do outro lado pode contar o resto.
Proteção contra spam
Duas defesas ficam ativas desde o momento da instalação: um campo honeypot que uma pessoa nunca vê e uma verificação de tempo que recusa um formulário enviado em menos de três segundos. Nenhuma das duas custa nada ao visitante e nenhuma quebra a tecnologia assistiva, motivo pelo qual são o padrão em vez de um desafio.
Além disso, tudo é opcional e fica desligado até você ativá-lo: reCAPTCHA v2 e v3, hCaptcha, Cloudflare Turnstile e Akismet, além de regras de palavra-chave, endereço e país que rodam inteiramente no seu próprio servidor.
Um envio julgado como spam é marcado, não excluído. Uma pegada no honeypot, um CAPTCHA que falhou ou teve pontuação baixa e um veredito do Akismet armazenam o envio com status de spam, onde você pode lê-lo e mudar de ideia — porque o custo de uma consulta descartada por engano é muito mais alto que o custo de uma linha que você precisa olhar. As duas exceções são a verificação de tempo e a limitação de taxa, que recusam a requisição antes mesmo de um envio existir; não há nada para marcar, e nada jamais foi aceito e depois descartado.
O Akismet é a única opção que envia os valores enviados, o endereço IP do visitante, o user agent do navegador e a URL de referência a terceiros. Isso é uma transferência de dados pessoais: avise seus visitantes antes de ativá-lo. Os outros provedores recebem apenas o que o próprio script deles coleta mais o token do desafio, e o endereço IP do visitante não é repassado a eles a menos que um filtro no seu site o solicite.
Controle de acesso
Um formulário pode abrir e fechar conforme uma programação, parar depois de um número de envios, exigir um usuário conectado ou uma função específica, ou ficar atrás de uma senha. As quatro coisas são decididas por uma única função, e essa função é chamada de dois lugares: uma vez quando o formulário está prestes a ser renderizado e outra quando um envio chega.
Dois pontos de chamada, uma única decisão. Se ocultar o formulário e recusar um envio direto fossem escritos separadamente, eles acabariam divergindo com o tempo, e o formulário fechado ainda aceitaria um POST de alguém que tivesse o endereço. Nada aqui é aplicado no navegador.
O limite de envios é verificado mais uma vez imediatamente depois que a linha é gravada, com a contagem travada enquanto é lida. Dois visitantes clicando em enviar no mesmo segundo, sem isso, passariam ambos por uma verificação feita antes de qualquer um dos dois ter sido contado.
Envios de arquivo
Os arquivos enviados são mantidos fora do alcance da barra de endereço. O nome do diretório é impossível de adivinhar e carrega regras de negação para Apache, IIS e um índice de diretório, então um arquivo não é servido mesmo que alguém descubra o caminho.
O cofre fica dentro do seu diretório de uploads a menos que você defina MEVVFORMS_FILE_VAULT_DIR e o aponte para algum lugar fora da raiz web. Ficar abaixo da raiz web é mais forte que regras de negação, porque sobrevive a uma configuração de servidor web que foi resetada ou que nem sequer é lida. Se sua hospedagem permitir, defina-o.
Um arquivo é julgado pelo que há dentro dele, não pelo nome com que chegou. Os primeiros bytes são comparados com uma tabela de assinaturas conhecidas, um magic number executável é recusado de imediato, e um arquivo é escaneado em busca de script embutido mesmo quando sua assinatura parecia inofensiva. Uma extensão é uma alegação feita por quem enviou o arquivo.
Os downloads passam por um link assinado em vez de um caminho. A assinatura cobre o arquivo, a pessoa e uma expiração — quinze minutos por padrão e nunca mais que um dia — e o download ainda reverifica se a pessoa tem permissão para tê-lo, mesmo enquanto o link está dentro da sua janela de validade. Um link repassado a outra pessoa não funciona para ela.
Visualizações no front-end
Os envios podem ser republicados no site como uma visualização: uma grade, uma tabela, um calendário, uma linha do tempo ou um mapa. As visualizações são colocadas com [mevvforms_view id="12"], ou com o bloco MevvForms View, e fixar um único registro em uma página é apenas uma questão de nomear o envio.
O mapa não entra em contato com nenhum serviço externo. Não há blocos (tiles) para buscar, nenhuma chave para obter e nenhuma requisição de geocodificação: os pontos são desenhados como uma imagem vetorial embutida na sua própria página, com as coordenadas também escritas como texto abaixo para quem não consegue ver o desenho. Parece mais simples que um mapa em blocos, e em troca nenhum endereço de visitante é enviado a uma empresa de mapas por uma página que ele nem sabia que tinha um mapa.
Privacidade e retenção
O MevvForms está registrado nas próprias ferramentas de exportação e exclusão de dados pessoais do WordPress, então uma solicitação de dados tratada pelo WordPress encontra envios, submissões parcialmente concluídas e arquivos sem que ninguém precise se lembrar de checar uma segunda tela.
A retenção é definida por formulário como um número de dias — zero significa manter para sempre, e o teto é dez anos. Uma tarefa de hora em hora a aplica.
Antes de uma mudança de retenção ser salva, a tela diz quantos envios ela tornaria elegíveis para exclusão permanente. A contagem é calculada primeiro e a exclusão é uma etapa separada, confirmada separadamente. Digitar 30 em uma caixa nunca deveria ser o mesmo gesto que destruir quatro mil registros.
Analítica de formulário
A analítica responde a uma pergunta — onde as pessoas desistem deste formulário — e ela fica desligada até você ativá-la e nomear os formulários que ela pode medir. Enquanto está desligada, nada é gravado, nenhum script é adicionado às suas páginas e nenhum endpoint público sequer existe.
Ligada, ela mantém duas tabelas de contadores diários: por formulário, as visualizações, inícios, envios e abandonos; por campo, os abandonos naquele campo, as vezes em que ficou vazio, os erros de validação, o tempo total de foco e quantos visitantes o focaram.
Nenhum identificador de visitante é criado e nenhum cookie é definido. As tabelas não têm coluna para endereço IP, usuário, e-mail, sessão, fingerprint, referenciador ou valor enviado — é o formato do esquema que torna uma linha impossível de rastrear, não uma promessa de não olhar. O sinal do navegador vai para o seu próprio site e é autenticado com o próprio ticket de vida curta do formulário, que é idêntico para todo visitante daquele formulário. Como as linhas são agregadas, uma exportação de dados pessoais não encontra nada para exportar, e uma solicitação de exclusão é respondida com uma linha dizendo isso.
Gerando um formulário com IA
Você pode descrever um formulário em uma frase e ter os campos organizados para você. Três conexões são suportadas: Ollama e LM Studio, que rodam na sua própria máquina ou no seu próprio servidor, e um endpoint compatível com OpenAI para quem preferir usar um modelo hospedado com sua própria chave.
- Não há cota, crédito ou contador de uso em nenhum lugar do plugin — nada para se esgotar, porque o modelo não é nosso.
- Com Ollama ou LM Studio, a descrição do seu formulário nunca sai da máquina em que o modelo roda.
- Sem nenhuma conexão configurada, o recurso simplesmente não é exibido e nenhuma requisição é feita. Não há um substituto hospedado esperando para ser usado por acidente.
Uma chave que você cola é mantida em uma única opção do WordPress que não é carregada em toda página, e a tela a mostra mascarada depois — mas ela é armazenada exatamente como você digitou, não criptografada. Qualquer coisa com acesso ao banco de dados pode lê-la. Use uma chave com escopo limitado ao necessário, e a rotacione se o site mudar de mãos.
O que volta é um rascunho. É um layout inicial para corrigir, não um formulário para publicar sem ler — e um campo gerado não tem a menor ideia do que sua legislação exige que você pergunte ou deixe de fora.
Importando de outro plugin de formulário
Formulários podem ser importados de sete outros plugins: Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Formidable Forms, Ninja Forms e SureForms.
- A origem é sempre apenas lida. Nada no outro plugin é alterado, desativado ou excluído pela importação, e seus próprios dados permanecem exatamente onde estavam.
- Tudo o que não pode ser transferido é listado, com o motivo. A importação se recusa a gravar até que você tenha visto essa lista e a aceitado — uma importação parcial silenciosa é como uma notificação ausente é descoberta três semanas depois por um cliente que nunca recebeu uma resposta.
- Os shortcodes antigos continuam funcionando. O shortcode do plugin de origem passa a ser respondido pelo MevvForms assim que a migração está ativa, então páginas que nunca foram editadas continuam mostrando um formulário funcional. Se outra coisa já reivindicou aquele shortcode, o MevvForms o deixa em paz.
Mantenha o plugin de origem instalado até você mesmo ter enviado o novo formulário e visto o envio e a notificação. Reverter é fácil enquanto o original ainda está lá e complicado depois que ele se foi.
Migração reversível do WPForms
A migração começa somente em leitura. A prévia lista os campos mapeados, as notificações, as confirmações, as inserções e as configurações não suportadas. Aplicar cria ou atualiza um formulário preparado do MevvForms e registra o hash de origem. Ela não apaga dados, revisões, tabelas nem conteúdo de páginas do WPForms.
- Exija uma prévia exata antes de aplicar.
- Importe o formulário como preparado e compare de novo os hashes de origem.
- Execute a barreira de integridade da transição: publicar, renderizar, envio de teste assinado, entrada local e notificação na fila.
- Somente depois que essas verificações passarem o plugin de origem pode ser desligado.
- Se alguma verificação falhar, a reversão restaura a lista anterior de plugins ativos e devolve o formulário importado a rascunho.
O inventário medido do mevvshop.com é um formulário de origem com 4 campos, 1 notificação, 1 confirmação e uma inserção ao vivo. Esses números são uma barreira de release para aquele site, não uma promessa sobre todo formulário do WPForms.
Recebendo um pagamento
Um formulário pode carregar um preço. Os campos de produto guardam os itens, os campos de cálculo e total apuram o que é devido, e o pedido é montado no servidor a partir do esquema a cada envio.
- O valor nunca vem do navegador. Um total que chega junto com o envio é usado apenas para comparação, e uma divergência rejeita o envio em vez de corrigi-lo silenciosamente — um visitante nunca deve ser cobrado um valor diferente daquele que lhe foi mostrado.
- O dinheiro é carregado como números inteiros da menor unidade da moeda de ponta a ponta. Nenhum valor monetário passa por um número de ponto flutuante em lugar algum.
- Nada se torna pago sem uma resposta do provedor. Um navegador voltando da página de pagamento move o pedido no máximo para “precisa de conciliação”; pago exige uma notificação com assinatura verificada ou uma pergunta feita diretamente ao provedor.
- Os dados do cartão nunca chegam ao site. Não há campo para número de cartão, validade ou código de segurança no contrato de pagamento nem uma coluna para isso no banco de dados.
- PayPal — um gateway Pro
- O Pro acrescenta um gateway PayPal construído sobre Orders v2. A encomenda é aberta no seu servidor, o visitante aprova-a na página do próprio PayPal e o dinheiro é capturado no caminho de volta — ou, se fechar o separador antes, quando chega a notificação assinada. Ambos os caminhos terminam no mesmo sítio, pelo que uma encomenda aprovada não fica por capturar com o dinheiro por cobrar. A captura dupla está protegida a dobrar: a chamada de captura leva um id de pedido fixo que o PayPal não repete, e uma resposta de «já capturado» é lida como trabalho já feito e não como falha. Os reembolsos, totais ou parciais, são emitidos a partir do registo.
- O PayPal não está disponível na Türkiye
- O PayPal não opera na Türkiye nem liquida em liras turcas, pelo que este gateway serve para vender no estrangeiro. Os prestadores de pagamento turcos ficam onde estavam, na ponte do MevvPos, e nada disso muda aqui.
Nenhuma taxa de transação, em nenhum nível. Vários plugins de formulário cobram uma porcentagem do que você recebe na camada de pagamento gratuita deles; um teste garante que o valor enviado ao provedor é exatamente igual ao total do pedido.
Nenhum pagamento foi executado de ponta a ponta, PayPal incluído. Ainda não há por trás disto qualquer conta de comerciante real ou de sandbox: cada caminho de fornecedor é exercitado contra um substituto e as formas do pedido e da notificação foram verificadas linha a linha face às referências publicadas dos fornecedores, e não face a uma chamada concluída. Trate as funcionalidades de pagamento como não comprovadas até que isso mude e não as coloque à frente de clientes reais apenas pela nossa palavra.
Zapier e Make
O Pro pode também publicar entradas no Zapier e no Make como REST hooks. O Zapier subscreve um dos seus formulários, o MevvForms recorda a subscrição e cada entrada a partir daí é posta em fila e entregue. Cancelar a subscrição remove-a de novo, e uma rota separada de amostras entrega ao Zapier uma entrada recente para que o seu ecrã de mapeamento de campos mostre nomes de campos reais em vez de caixas vazias.
- A autenticação é uma chave de site que gera no ecrã de definições do Zapier. É a única credencial e identifica o site, não uma pessoa.
- As entregas saem pelo webhook assinado e pela fila de tarefas que a edição gratuita já usa. Este é um destino novo, não um segundo sistema de entrega, pelo que o registo de entregas e as repetições funcionam da mesma forma.
- Sem uma licença válida o módulo não arranca de todo: não é registada nenhuma rota, não é adicionado nenhum hook e não existe qualquer caminho de código capaz de alcançar um endereço remoto.
O Zapier e o Make já eram alcançáveis sem o Pro, porque a edição gratuita consegue enviar por POST um webhook assinado para qualquer endereço. O que o Pro retira é a parte do meio — deixa de construir a subscrição, o mapeamento de campos e a repetição.
Salesforce
A Pro pode transformar um envio num Lead, Contact ou Case do Salesforce. Faz a correspondência dos campos do formulário com os campos do objeto no ecrã do conector, e cada entrada é enviada através da mesma fila que os outros conectores usam — pelo que uma interrupção do Salesforce atrasa o registo, não o perde.
- A autenticação é OAuth 2.0 com um token de atualização. Nenhuma palavra-passe do Salesforce é guardada no seu site.
- Sandbox e produção são um interruptor, não um segundo conjunto de credenciais a manter à parte.
- A entrada em si fica sempre no seu próprio site. Enviar uma cópia para o Salesforce não move os seus dados para lá.
Carregamentos no seu próprio armazenamento de objetos
Por predefinição, o cofre de ficheiros fica no seu próprio disco, fora da raiz web. A Pro pode movê-lo para qualquer armazenamento compatível com S3 — AWS S3, Cloudflare R2, MinIO, DigitalOcean Spaces, Backblaze B2 ou Wasabi — assinando cada pedido por conta própria, pelo que nenhum SDK de terceiros vê alguma vez as entradas.
O que muda é onde ficam os bytes, não quem os pode obter. Os ficheiros continuam a ser entregues apenas através de um link com tempo limitado associado a uma pessoa, e o plugin gratuito continua a decidir quem tem permissão para o obter. Mover o armazenamento não move a verificação de permissões.
Idiomas
Dezenove locales do WordPress vêm com o plugin: alemão (Alemanha, Alemanha formal e Suíça), inglês, espanhol (Espanha, México, Argentina, Chile, Colômbia), francês, italiano, japonês, holandês (Países Baixos e Bélgica), polonês, português (Brasil e Portugal), russo e turco. Os catálogos-fonte editáveis estão incluídos, então uma tradução pode ser corrigida no seu próprio site.
Turco e inglês são os dois idiomas lidos linha por linha. Os outros estão completos, mas nem todos passaram ainda por uma revisão humana; se uma frase soar estranha no seu idioma, é exatamente isso, e o catálogo está ali para corrigi-la.
A fronteira entre Free e Pro
O motor fiável pertence à edição gratuita e com ele quase tudo o que está nesta página: o esquema, os trinta e oito tipos de campo, o renderizador acessível, a validação no servidor e a lógica condicional, os formulários de vários passos com passo de resumo e modo conversacional, guardar-e-continuar, as entradas locais com exportação CSV e registo de auditoria, notas de administração e um fluxo de aprovação, a fila de notificações e o registo de entrega, webhooks de saída assinados com HMAC, a suite antispam completa, o controlo de acessos, o cofre de ficheiros, as vistas públicas, as ferramentas de retenção e privacidade, a analítica, a geração com IA, os importadores para sete plugins e os pagamentos únicos sem comissão.
O Pro acrescenta os conectores de serviço nomeados: Mailchimp, HubSpot, Brevo, ActiveCampaign, Airtable, Notion, Google Sheets, Discord, Telegram e Slack, cada um a falar a forma própria desse serviço, mais um gateway PayPal, um conector Zapier e Make construído sobre REST hooks, pagamentos recorrentes, códigos de desconto e pagamentos parciais. Repare no que isto continua a significar: a edição gratuita já envia por POST um webhook assinado para qualquer lado, pelo que o Zapier, o Make e tudo o que escrever continuam alcançáveis sem o Pro — o que o Pro retira é a parte do meio: a subscrição, o mapeamento de campos e a repetição que de outro modo teria de escrever. A barreira da licença é a própria verificação de arranque do módulo: sem uma licença válida não é carregada nenhuma classe de conector, não é registado nenhum filtro de tarefa e nenhuma chamada remota pode acontecer.
Um item do roteiro não é anunciado como um recurso já funcional. Confira a versão instalada e as notas de versão antes de desenhar um formulário em torno de um módulo Pro.
Solução de problemas e reversão
- O shortcode antigo aparece em branco
- Confirme que o ID de origem tem um mapeamento de migração ativo e que nenhum outro plugin é dono do shortcode wpforms.
- O envio informa uma sessão expirada
- Recarregue a página e envie contra a última revisão publicada.
- Uma notificação está aguardando
- Abra o status da fila, corrija o erro permanente de configuração ou permita a nova tentativa agendada para um erro de transporte transitório.
- A transição não desativou o WPForms
- Leia o resultado de integridade. A barreira de segurança manteve ou restaurou o WPForms porque a verificação de renderização, envio, entrada ou trabalho falhou.
- Um campo que o visitante não conseguia ver chegou mesmo assim
- É nesse ponto que o servidor decide. As condições são reavaliadas no envio, então um valor enviado para um campo oculto é descartado ali — verifique a própria condição, não o navegador.
- Os caracteres turcos ficam corrompidos no CSV
- O arquivo carrega uma marca de ordem de bytes e é UTF-8. Uma planilha que foi instruída a importá-lo como outra coisa ainda vai exibi-lo errado; abra-o diretamente em vez de por um assistente de importação com uma codificação já escolhida.
- Um link de download diz que expirou
- Os links duram quinze minutos por padrão e ficam vinculados à pessoa que os solicitou. Gere um novo a partir do envio; um link não pode ser repassado a um colega.
- O painel de IA não aparece
- Nenhuma conexão está configurada. O painel fica oculto em vez de aparecer quebrado, e nada é enviado a lugar nenhum enquanto está oculto.
- Um item de menu abre uma tela vazia
- Alguns itens no menu são espaços reservados para telas que ainda não foram construídas. Uma tela vazia não é uma instalação quebrada.
Para o suporte, informe as versões do plugin, do WordPress e do PHP, além do código de erro seguro. Remova os valores dos campos, os dados de clientes, os tokens de sessão, os nonces e as chaves de licença antes de enviar os logs.
Atualizações
As atualizações chegam através do próprio WordPress. O plugin pergunta à nossa loja se existe uma versão mais recente e entrega a resposta ao próprio fluxo de atualização do WordPress, pelo que uma nova versão aparece no ecrã de plugins com um botão Atualizar vulgar, em vez de esperar que alguém descarregue um zip à mão. Na edição gratuita, esse pedido leva apenas o nome do pacote e a versão instalada — sem endereço do site, sem endereço de e-mail, sem chave de licença e sem inventário de plugins. Como nada nele o identifica, a confiança assenta na assinatura: a resposta é assinada com a nossa chave Ed25519, e uma resposta sem assinatura, mal assinada, repetida a partir de um carimbo temporal antigo ou que aponte a transferência para outro anfitrião que não o nosso é descartada sem tocar no site.
Limites
Dito claramente, para que nada nesta página precise ser aceito apenas por confiança.
- Os recursos de pagamento não foram verificados com uma conta de comerciante real ou sandbox. Eles foram construídos de acordo com a documentação dos provedores e testados contra um transporte substituto.
- Não existe desfazer ou refazer no construtor. As revisões são o caminho de volta.
- A saída em PDF depende do site. Se uma biblioteca de PDF estiver instalada, o MevvForms a utiliza; se não, ele produz um documento imprimível e deixa a impressão a cargo do navegador. Nenhuma biblioteca de PDF é empacotada e nenhuma é buscada de lugar algum.
- Cada entrada do menu abre agora um ecrã real. Relatórios, integrações, importação e exportação, definições, funções e registos eram marcadores em versões anteriores; desde a 1.1.0 cada um é servido pelo seu próprio pacote.
- O cofre de arquivos enviados fica dentro do diretório de uploads por padrão e é protegido por regras de negação em vez de pela sua localização, a menos que você mesmo o aponte para fora da raiz web.
- As chaves de IA são armazenadas exatamente como digitadas, não criptografadas. Elas são mascaradas na tela e mantidas fora das opções sempre carregadas, o que não é o mesmo que serem ilegíveis.
- O equivalente por teclado do construtor é completo, mas pequeno. Os botões usam as teclas comuns e mover um campo tem um único atalho; não há um mapa de teclas maior para aprender, nem um para descobrir.
Onde esta página diz que algo foi medido, foi medido. Onde diz que algo não foi comprovado, isso não é modéstia — significa que o teste ainda não existe, e você deve tratar a afirmação como inacabada.