Como corrigir o erro do campo de assinatura no WPForms
O que é erro do campo de assinatura no WPForms?
O WPForms signature field e um campo da seção Fancy Fields que captura a assinatura do visitante diretamente no formulário. O usuário clica e arrasta o cursor sobre a área de assinatura e o WPForms desenha o traco em um elemento canvas HTML5 via JavaScript. No envio, esse desenho e convertido em uma imagem PNG (formato escolhido por suportar fundo transparente) e salva junto com a entrada do formulário, ficando visivel em WPForms -> Entradas e nos e-mails de notificação pela Smart Tag de todos os campos.
O erro do campo de assinatura aparece quando alguma peca dessa cadeia falha: o campo não surge no construtor ou no formulário publicado, a área de assinatura não reage ao cursor, ou o envio retorna erro e a imagem PNG sai em branco. Segundo a documentação oficial do WPForms, dois requisitos são decisivos: o addon Signature exige uma licenca de nível Pro ou superior, e o servidor precisa ter a extensão PHP GD Library (php-gd) ou ImageMagick (php-imagick) habilitada para gerar a imagem da assinatura.
Como identificar
- O campo de assinatura não aparece na seção Fancy Fields do construtor de formulários do WPForms.
- A área de assinatura carrega no formulário publicado, mas clicar e arrastar o cursor não desenha nenhum traco.
- Ao enviar o formulário com a assinatura preenchida surge a mensagem ‘There was a problem while uploading your file’ ou o envio falha sem registrar a entrada.
- A entrada e salva, mas a assinatura aparece como imagem PNG em branco ou quebrada em WPForms -> Entradas e no e-mail de notificação.
- No console do navegador (F12) surgem erros de JavaScript do script de assinatura logo ao carregar a página do formulário.
Como prevenir
- Mantenha uma licenca de nível Pro ou superior ativa e o addon Signature sempre atualizado para acompanhar correcoes do campo de assinatura.
- Garanta que o servidor tenha php-gd ou php-imagick habilitado antes de publicar formulários com assinatura, validando em Ferramentas -> Saude do Site.
- Atualize WPForms e addons em staging primeiro e limpe o cache logo após cada atualização para evitar JavaScript antigo no campo.
- Padronize permissões da pasta de uploads (diretorios 755, arquivos 644) para que o WordPress sempre consiga gravar as imagens PNG das assinaturas.
Causa
- O addon Signature não esta instalado ou ativo: ele exige uma licenca de nível Pro ou superior do WPForms, e sem essa licenca o campo não aparece na seção Fancy Fields, conforme a documentação oficial.
- O servidor não tem a extensão PHP GD Library (php-gd) nem ImageMagick (php-imagick) habilitada, módulos que o WPForms usa para converter o traco do canvas em imagem PNG; sem eles o envio com assinatura falha.
- Um conflito de JavaScript com outro plugin ou com o tema interrompe o carregamento do script do canvas de assinatura, deixando a área de assinatura inerte ao cursor.
- O cache do navegador ou de plugin de cache esta servindo uma versão antiga do JavaScript do WPForms após uma atualização do plugin ou do addon, quebrando a inicializacao do campo.
- A permissão de escrita na pasta de uploads do WordPress (wp-content/uploads) esta incorreta, impedindo o WPForms de gravar o arquivo PNG gerado a partir da assinatura.
Como resolver
- Confirme a licenca Pro e ative o addon Signature: O campo de assinatura exige uma licenca de nível Pro ou superior. Verifique a licenca em WPForms -> Configurações e instale o addon Signature na tela de addons. Sem o addon ativo, o campo não aparece nos Fancy Fields.
Painel WP -> WPForms -> Configurações -> aba Geral (confirme licenca Pro ou superior) Painel WP -> WPForms -> Addons -> localize 'Signature Addon' e clique em Instalar e Ativar - Habilite a extensão PHP GD ou ImageMagick: O WPForms precisa do módulo PHP GD Library (php-gd) ou ImageMagick (php-imagick) para gerar a imagem PNG da assinatura. Verifique em Ferramentas -> Saude do Site quais módulos estão ativos e habilite um deles pelo painel da hospedagem ou via WP-CLI.
Painel WP -> Ferramentas -> Saude do Site -> aba Informações -> seção Servidor (procure 'gd' ou 'imagick') wp --info Habilite php-gd ou php-imagick no painel da hospedagem (selecao de módulos PHP) e reinicie o PHP - Limpe o cache e teste em janela anonima: Após atualizar o WPForms ou o addon, limpe o cache do plugin de cache e do navegador e abra o formulário em uma janela anonima. Isso descarta JavaScript antigo do campo de assinatura sendo servido pelo cache.
Limpe o cache do seu plugin de cache (ex.: WP Rocket -> Configurações -> Limpar Cache) Abra o formulário em uma janela anonima do navegador e teste a assinatura - Isole conflito de JavaScript: Se a área de assinatura não reage ao cursor, desative os demais plugins um a um e troque para um tema padrão, recarregando o formulário a cada teste e olhando o console (F12) até identificar o que interrompe o script do canvas.
Painel WP -> Plugins -> desative os demais plugins um a um Painel WP -> Aparencia -> Temas -> ative um tema padrão (ex.: Twenty Twenty-Four) Abra o console do navegador (F12 -> Console) e recarregue o formulário a cada teste - Corrija a permissão da pasta de uploads: Se o envio falha ao salvar a imagem, confirme que a pasta wp-content/uploads tem permissão de escrita para o WordPress gravar o PNG da assinatura. Ajuste as permissões via FTP ou WP-CLI.
Via FTP, confira a pasta wp-content/uploads (diretorios 755, arquivos 644) find wp-content/uploads -type d -exec chmod 755 {} + find wp-content/uploads -type f -exec chmod 644 {} +
<?php
// Adicione ao functions.php do tema filho ou a um plugin de snippets.
// Avisa no admin quando faltam os modulos PHP que o campo de assinatura exige.
add_action( 'admin_notices', 'full_check_signature_image_libs' );
function full_check_signature_image_libs() {
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
if ( extension_loaded( 'gd' ) || extension_loaded( 'imagick' ) ) {
return; // Servidor apto a gerar o PNG da assinatura.
}
echo '<div class="notice notice-error"><p>';
echo 'WPForms Signature: o servidor nao tem php-gd nem php-imagick. ';
echo 'Habilite um deles para o campo de assinatura salvar a imagem PNG.';
echo '</p></div>';
}














