Como corrigir o campo de cálculos que não calcula no WPForms
O que é WPForms Calculations que não calcula?
O WPForms Calculations é o addon que permite exibir um resultado numérico calculado a partir de outros campos do formulário, como somar itens de um orçamento ou montar uma calculadora de preço. Você ativa o cálculo num campo de resultado pela aba Avançado, na opção Enable Calculation, e escreve a fórmula no construtor que aparece abaixo do botão. A partir daí o valor desse campo passa a ser definido apenas pelo resultado do cálculo, não mais pela digitação do visitante.
O erro de não calcular acontece quando essa cadeia se rompe em algum ponto. Segundo a documentação oficial do WPForms, o addon só funciona nos campos de resultado Single Line Text, Paragraph Text, Number, Hidden e Single Item, e exige licença Pro ou Elite com o addon instalado e ativo. Um detalhe crítico da doc: o formulário pode ser salvo mesmo com a fórmula contendo erro de validação, mas nesse caso o cálculo é ignorado em segundo plano e o campo volta a se comportar como um campo comum, exibindo vazio ou o valor padrão em vez do resultado.
Como identificar
- O campo de resultado fica vazio, mostra zero ou repete o valor padrão em vez de exibir o total calculado quando o visitante preenche o formulário.
- A opção ‘Enable Calculation’ não aparece na aba Avançado do campo, indicando que o addon Calculations não está instalado ou ativo.
- Ao clicar em ‘Validate Formula’ no construtor, surge uma mensagem de erro de validação apontando a linha da fórmula com problema.
- O cálculo funciona em alguns campos mas não em outros, porque foi habilitado num tipo de campo não suportado (por exemplo, um campo de Checkboxes ou Dropdown).
- O resultado aparece no preview do construtor mas não no formulário publicado, sinalizando cache de página ou conflito de JavaScript que impede o cálculo no front-end.
Como prevenir
- Mantenha o addon Calculations e o WPForms sempre na versão estável mais recente, validando antes em staging para acompanhar mudanças no construtor de fórmula.
- Use sempre ponto como separador decimal nas fórmulas, nunca vírgula, para evitar o erro de validação que zera o cálculo no padrão numérico brasileiro.
- Habilite o cálculo apenas nos campos de resultado suportados (Single Line Text, Paragraph Text, Number, Hidden e Single Item) e documente quais campos calculam em cada formulário.
- Rode o Validate Formula após qualquer edição e teste o formulário publicado numa aba anônima antes de divulgar, garantindo que o cálculo roda também no front-end com cache ligado.
Causa
- O addon Calculations não está instalado ou ativo: sem ele a opção 'Enable Calculation' não existe na aba Avançado e nenhum campo calcula. A documentação oficial exige licença WPForms Pro ou Elite para instalar esse addon.
- O cálculo foi habilitado num tipo de campo que não suporta resultado: a doc do WPForms lista apenas Single Line Text, Paragraph Text, Number, Hidden e Single Item como campos de resultado válidos, e cita que Checkboxes ainda não é compatível.
- A fórmula tem erro de validação e o WPForms ignora o cálculo em segundo plano: a doc afirma que o formulário pode ser salvo com a fórmula inválida, mas o campo passa a funcionar como um campo comum, sem calcular nada.
- A fórmula usa vírgula como separador decimal: a doc determina que apenas o ponto é aceito para decimais, e a vírgula dispara erro de validação que zera o cálculo (pegadinha comum no padrão numérico brasileiro).
- A referência de campo na fórmula está com o ID errado: o WPForms exige o formato $FX (onde X é o ID do campo) e formatos próprios para subcampos ($FX_subfield) e pagamento ($FX_amount); um ID inexistente ou subcampo errado retorna resultado vazio.
- Um plugin de cache ou conflito de JavaScript no front-end impede o script de cálculo de rodar na página publicada, deixando o campo sem atualizar enquanto o visitante preenche o formulário.
Como resolver
- Confirme que o addon Calculations está instalado e ativo: O cálculo só existe com o addon Calculations, disponível nas licenças WPForms Pro e Elite. Verifique se ele está instalado e ativado antes de qualquer outro ajuste, pois sem ele a opção de cálculo nem aparece no campo.
Painel WP -> WPForms -> Addons Localize 'Calculations Addon' e clique em Install Addon, depois em Activate Confirme antes em WPForms -> Configurações que a licença Pro ou Elite está verificada - Use um tipo de campo de resultado suportado: Abra o campo onde o resultado deveria aparecer e confirme que ele é um dos tipos suportados pela doc oficial: Single Line Text, Paragraph Text, Number, Hidden ou Single Item. Se o cálculo foi habilitado num campo não suportado, como Checkboxes ou Dropdown, troque o campo de resultado por um desses tipos.
Painel WP -> WPForms -> abra o formulário no construtor Selecione o campo de resultado e verifique o tipo (Single Line Text, Number, Hidden, Single Item ou Paragraph Text) Se necessário, adicione um campo Number novo e mova o cálculo para ele - Habilite o cálculo na aba Avançado: Com o campo de resultado selecionado, vá até a aba Avançado das opções do campo e ative a opção Enable Calculation. O construtor de fórmula só aparece abaixo do botão depois que essa chave está ligada, e o valor do campo passa a ser definido apenas pelo cálculo.
No campo de resultado, abra a aba Avançado (Advanced) Ligue a chave Enable Calculation Confirme que o construtor de fórmula apareceu logo abaixo da chave - Valide a fórmula e corrija o separador decimal: Escreva a fórmula referenciando os campos no formato $FX, use o botão Insert Field ou digite o símbolo $ para o autocomplete sugerir os campos, e clique em Validate Formula. Troque qualquer vírgula decimal por ponto, pois a vírgula dispara erro de validação e faz o WPForms ignorar o cálculo.
No construtor, monte a fórmula (ex.: $F1 * $F2) Use ponto para decimais, nunca vírgula (ex.: 19.90 e não 19,90) Clique em Validate Formula e corrija a linha apontada até a validação passar - Teste no front-end e isole cache ou conflito: Publique o formulário, limpe o cache do site e preencha a página numa aba anônima para confirmar o cálculo ao vivo. Se o resultado aparece no preview do construtor mas não na página publicada, desative plugins de cache e teste outros plugins um a um para achar o conflito de JavaScript no front-end.
Limpe o cache do plugin de cache e do navegador Abra a página do formulário numa janela anônima e preencha os campos de entrada Se falhar só no front-end, desative o cache do formulário e teste os demais plugins um a um
<?php
// Loga o valor final de um campo de cálculo no envio do WPForms
// para depurar quando o resultado chega vazio (cálculo ignorado).
add_action( 'wpforms_process_complete', 'full_debug_calc_field', 10, 4 );
function full_debug_calc_field( $fields, $entry, $form_data, $entry_id ) {
$form_id = 123; // ID do formulário
$field_id = 4; // ID do campo de resultado (cálculo)
if ( (int) $form_data['id'] !== $form_id ) {
return;
}
$valor = isset( $fields[ $field_id ]['value'] ) ? $fields[ $field_id ]['value'] : '(vazio)';
error_log( sprintf( 'WPForms calc field %d = %s', $field_id, $valor ) );
}














