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

Como corrigir entradas que não salvam no banco de dados no WPForms

Time Full Services Time Full Services
Tipo Outros erros
Nome do erro Entradas do WPForms não salvam no banco de dados EN: WPForms entries not saving to database
Severidade Grave
Descrição Quando entries do WPForms não salvam, o e-mail de notificação chega mas nada aparece em WPForms -> Entries. As causas mais comuns são a versão Lite (gratuita), que só envia por e-mail e não grava no banco, e a opção 'Disable storing entry information in WordPress' marcada no formulário. O conserto é checar a licença e essa opção.

O que é as entradas (entries) do WPForms que não salvam?

As entradas (entries) do WPForms são os registros de cada envio de formulário, guardados nas tabelas do banco de dados do WordPress e exibidos em WPForms -> Entries no painel. Quando elas não salvam, o visitante envia o formulário, a notificação por e-mail até chega, mas o painel de Entries fica vazio ou não lista aquele envio. Na grande maioria dos casos não é bug do plugin. O motivo costuma ser a versão Lite (gratuita), que por design só entrega o envio por e-mail e não grava no banco, ou a opção ‘Disable storing entry information in WordPress’ ligada nas configurações do formulário. Outras causas são as tabelas wp_wpforms_entries ausentes ou corrompidas e o usuário do banco sem permissão de escrita. O conserto é confirmar a licença, a opção de armazenamento e a saúde das tabelas.

Como identificar

  • O formulário envia normalmente e a notificação por e-mail chega, mas em WPForms -> Entries não aparece nenhum registro do envio.
  • O menu WPForms -> Entries existe mas mostra ‘No entries found’ ou uma lista vazia mesmo depois de vários testes de envio.
  • Em sites com WPForms Lite (gratuito), não há sequer o submenu de Entries, apenas a mensagem para fazer upgrade e ativar o armazenamento.
  • Um formulário específico não grava entradas, enquanto outros formulários do mesmo site continuam salvando normalmente.
  • As entradas pararam de ser gravadas depois de uma migração de banco, restauração de backup ou troca de servidor.
  • No log de erros do WordPress aparece falha de INSERT do MySQL ou referência a uma tabela wp_wpforms_entries inexistente quando o formulário é enviado.
Antes de começar: Antes de alterar privilégios de banco ou rodar comandos SQL, faça um backup completo do banco de dados. Conceder permissões erradas ou rodar GRANT com host incorreto pode tirar o site do ar.

Como prevenir

  • Em sites que precisam do histórico de envios no painel, use um plano pago do WPForms ou mantenha o Lite Connect ligado desde o início, em vez de descobrir a perda depois.
  • Ao criar cada formulário, confira que a opção ‘Disable storing entry information in WordPress’ está desmarcada antes de publicar, salvo quando o objetivo é realmente não guardar dados.
  • Em migrações e restaurações de backup, exporte e importe o banco inteiro, não só as tabelas do core, para não deixar as tabelas wp_wpforms_entries para trás.
  • Depois de qualquer mudança de servidor ou de credenciais de banco, faça um envio de teste e confirme que a entrada aparece em WPForms -> Entries antes de considerar a migração concluída.

Causa

  • O site usa WPForms Lite (versão gratuita), que por design entrega cada envio só por e-mail e não grava entradas no banco de dados; o armazenamento de entries exige um plano pago (Basic ou superior) ou o backup via Lite Connect.
  • A opção 'Disable storing entry information in WordPress' está marcada no formulário, em Settings -> General -> Advanced, fazendo o WPForms entregar o envio apenas por notificação e descartar a entrada.
  • A configuração global 'Disable User Details' ou 'Disable User Cookies' está ligada em WPForms -> Settings -> General -> GDPR, suprimindo dados do visitante e mascarando entradas que parecem vazias no painel.
  • Uma das tabelas wp_wpforms_entries, wp_wpforms_entry_meta ou wp_wpforms_entry_fields não foi criada na ativação do plugin (instalação interrompida) ou foi perdida numa migração que exportou só as tabelas do core.
  • O usuário MySQL configurado no wp-config.php não tem a permissão de INSERT na tabela de entradas, então o envio falha silenciosamente na hora de gravar e só a notificação por e-mail conclui.
  • Um plugin de cache ou de otimização serviu o JavaScript antigo do WPForms e a submissão via AJAX não foi concluída, então o backend nem chega a processar a entrada para gravar.
  • O envio caiu como spam: o WPForms marcou a entrada com o filtro anti-spam, reCAPTCHA ou Akismet, e ela está no filtro de spam de Entries em vez da lista principal.

Como resolver

  1. Confirme a versão e a licença do WPForms: o armazenamento de entradas no banco só existe em planos pagos. Veja em WPForms -> Settings se a licença é Lite (gratuita) ou paga. Se for Lite e você precisa do histórico no painel, ative o Lite Connect para guardar os envios ou faça upgrade.
    WPForms -> Settings -> General -> ver License Key e plano
    Lite sem entries: WPForms -> Settings -> Lite Connect -> Enable Entry Backups
  2. Desligue a opção que impede o armazenamento da entrada: abra o formulário no construtor e confirme que a opção de não armazenar a entrada está desmarcada. Com ela ligada, o WPForms só envia o e-mail e descarta a entrada.
    WPForms -> Todos os formulários -> editar formulário
    Settings -> General -> Advanced -> desmarcar 'Disable storing entry information in WordPress'
  3. Revise as opções de privacidade globais (GDPR): as opções globais de GDPR podem suprimir dados do visitante e fazer a entrada parecer vazia. Se você precisa dos detalhes do envio no painel, desligue essas opções no nível do site.
    WPForms -> Settings -> General -> GDPR Enhancements
    Avaliar desligar 'Disable User Details' e 'Disable User Cookies'
  4. Verifique se as tabelas de entradas existem no banco: abra o phpMyAdmin do seu painel de hospedagem e confirme que as tabelas de entradas do WPForms existem. Se faltar alguma, desative e reative o plugin para recriá-las, ou rode o reparo pelo construtor.
    phpMyAdmin -> selecionar o banco do site -> procurar as tabelas
    wp_wpforms_entries
    wp_wpforms_entry_meta
    wp_wpforms_entry_fields
  5. Cheque a permissão de escrita do usuário do banco: se as tabelas existem mas nada é gravado, o usuário do MySQL pode estar sem permissão de INSERT. Confirme as credenciais no wp-config.php e, no painel da hospedagem, garanta que o usuário tem todos os privilégios sobre o banco.
    Conferir DB_USER e DB_NAME no wp-config.php
    GRANT ALL PRIVILEGES ON nome_do_banco.* TO 'usuário_do_banco'@'localhost';
    FLUSH PRIVILEGES;
  6. Limpe o cache, cheque o spam e teste um envio: salve o formulário, limpe o cache do site e do CDN e faça um envio de teste numa janela anônima. Depois confira tanto a lista principal quanto o filtro de spam em Entries para ver onde a entrada caiu.
    Salvar formulário -> limpar cache do site, do plugin de cache e do CDN
    Enviar um teste em janela anônima
    WPForms -> Entries -> abrir o formulário -> conferir 'Spam'
PHP
// functions.php do tema filho — DIAGNOSTICO: registra no log se o WordPress
// consegue de fato gravar na tabela de entradas do WPForms apos cada envio.
// Separa 'configurado para nao salvar' de 'falha de escrita no banco'.
// Veja o resultado em wp-content/debug.log (com WP_DEBUG_LOG ativo).
add_action( 'wpforms_process_complete', function ( $fields, $entry, $form_data, $entry_id ) {
    if ( empty( $entry_id ) ) {
        error_log( 'WPForms: envio do form ' . $form_data['id'] . ' NAO gerou entry_id (armazenamento desligado ou falha de INSERT).' );
        return;
    }
    global $wpdb;
    $tabela = $wpdb->prefix . 'wpforms_entries';
    $existe = $wpdb->get_var( $wpdb->prepare( "SELECT entry_id FROM {$tabela} WHERE entry_id = %d", $entry_id ) );
    error_log( $existe ? 'WPForms: entry ' . $entry_id . ' gravada com sucesso na tabela.' : 'WPForms: entry_id ' . $entry_id . ' retornado mas ausente da tabela ' . $tabela );
}, 10, 4 );

Perguntas frequentes

Por que o WPForms envia o e-mail mas não salva a entrada no painel?
Porque o envio do e-mail e o armazenamento da entrada são processos separados. Quase sempre o site usa WPForms Lite, que só entrega por e-mail e não grava no banco, ou a opção 'Disable storing entry information in WordPress' está marcada no formulário. Confira a licença em WPForms -> Settings e a opção em Settings -> General -> Advanced do formulário.
O WPForms Lite gratuito salva as entradas no banco de dados?
Não. Por design, o WPForms Lite entrega cada envio apenas por e-mail e não grava entradas no banco do WordPress. Para ter o histórico no painel você precisa de um plano pago (Basic ou superior) ou pode ligar o Lite Connect, que faz backup dos envios para recuperar depois do upgrade.
Onde fica a opção que impede o WPForms de salvar a entrada?
No construtor do formulário, em Settings -> General -> Advanced, existe a opção 'Disable storing entry information in WordPress'. Quando ela está marcada, o WPForms só envia a notificação por e-mail e descarta a entrada. Desmarque-a para voltar a gravar os envios no banco.
Quais tabelas o WPForms usa para guardar as entradas?
As principais são wp_wpforms_entries, wp_wpforms_entry_meta e wp_wpforms_entry_fields, além das tabelas de tarefas e de pagamentos. O prefixo wp_ pode variar conforme o wp-config.php. Se uma dessas tabelas estiver ausente ou corrompida, as entradas não são gravadas mesmo num plano pago.
Perdi as entradas depois de migrar o site. Como recupero?
Entradas que nunca foram gravadas não têm como ser recuperadas. Se a migração exportou só as tabelas do core e deixou as do WPForms para trás, restaure o banco completo do backup anterior. Por isso o passo padrão é sempre exportar o banco inteiro e testar um envio depois de migrar.
As entradas podem estar caindo como spam em vez de sumir?
Sim. Se o reCAPTCHA, o anti-spam nativo ou o Akismet marcou o envio, a entrada vai para o filtro de spam dentro de WPForms -> Entries, não para a lista principal. Abra o formulário em Entries e troque o filtro para 'Spam' para conferir se os envios estão lá.
Por que só um formulário não salva e os outros funcionam?
Quando o problema é só de um formulário, a causa costuma ser local àquele formulário: a opção 'Disable storing entry information in WordPress' marcada nele, ou o anti-spam mandando os envios para o filtro de spam. Compare as configurações desse formulário com as de um que grava normalmente.
Preciso de código para corrigir entradas que não salvam?
Na maioria dos casos não: o conserto é checar a licença, a opção de armazenamento e o spam. Código só ajuda em diagnóstico avançado, por exemplo um snippet que registra no log se o WordPress consegue gravar na tabela de entradas, para separar problema de configuração de problema de permissão no banco.

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