Criando fórmulas com o complemento Cálculos

Os cálculos são uma funcionalidade profissional

Desbloqueie os cálculos e outras funcionalidades poderosas para fazer crescer o seu negócio.

Obter o WPForms Pro

Gostaria de aprender a criar fórmulas para efetuar operações básicas e avançadas nos seus formulários WordPress? Com o addon Calculations, poderá converter os seus formulários em calculadoras para resolver problemas específicos dos utilizadores.

Este tutorial irá explicar como construir fórmulas, cobrindo todas as regras, operações e funções no guia da folha de cálculo da extensão Cálculos.


Antes de começar, primeiro precisa de se certificar de que o WPForms está instalado e ativado no seu site WordPress e que verificou a sua licença.

Aceder à documentação da folha de cálculo

Nota: É necessário ter o addon Cálculos instalado e ativado no seu site WordPress para seguir este guia. Consulte a documentação do complemento Cálculos para começar.

Depois de instalar a extensão Cálculos, crie um novo formulário ou edite um já existente para aceder ao construtor de formulários.

No criador de formulários, terá de adicionar um dos campos suportados para poder ativar o modo de cálculo no campo do formulário.

Depois de ter adicionado um campo suportado, clique no mesmo para abrir o painel Opções de campo. Em seguida, navegue até ao separador Avançado. Aí, verá a opção Ativar cálculo.

Ativar o modo de cálculo

A ativação desta opção abrirá o criador de fórmulas. Aqui, pode criar fórmulas e efetuar cálculos utilizando outros valores de campo como variáveis.

Pode aceder à documentação da folha de cálculo da extensão Cálculos clicando na ligação Folha de cálculo acima do construtor de fórmulas.

Aceder ao Guia da Folha de Cálculo

Em alternativa, pode aceder a esta página utilizando esta ligação. O guia da cábula contém as várias regras, operadores e funções atualmente suportadas pela extensão Cálculos.

Compreender as regras e os operadores do addon Cálculos

Tal como as linguagens de programação têm regras e sintaxe, o criador de fórmulas também tem o seu próprio conjunto de regras. O cumprimento destas regras garante que as suas fórmulas funcionam como pretendido. De seguida, explicamos as regras mais importantes a seguir.

  • Ao adicionar números, só pode utilizar um ponto (.) para valores decimais (por exemplo, 59,99). A utilização de vírgulas para separar números grandes não é permitida e dará origem a um erro quando validar a sua fórmula.

Erro de validação

  • Coloque o texto da cadeia de caracteres entre aspas simples (') ou aspas duplas (").
  • Só pode utilizar os seus campos de formulário como variáveis no criador de fórmulas. A extensão Cálculos não permite declarar variáveis que não sejam variáveis de campo.
  • A adição de um ponto e vírgula após cada linha no construtor de fórmulas é opcional. No entanto, se estiver a escrever declarações condicionais, o endif deve ter um ponto e vírgula.

Nas próximas secções, explicaremos como funcionam as variáveis e mostraremos exemplos de operações suportadas no criador de fórmulas.

Utilização de variáveis de campo

Uma vez ativado o modo de cálculo num campo suportado, pode utilizar outros campos do formulário como variáveis para criar a sua fórmula. Abaixo estão as regras a seguir quando se utilizam variáveis de campo.

  • Cada variável de campo começa com o $F seguido do ID do campo. Assim, o nome completo da variável será $FX (onde X é o ID do campo).
  • As variáveis de campo para subcampos são adicionadas utilizando a sintaxe $FX_subfield. Onde X é o ID do campo e subfield é o identificador do subcampo. Por exemplo, F1_first representa o subcampo do primeiro nome do campo Nome.
  • Para aceder ao valor que os utilizadores selecionam num campo de pagamento, utilize o $FX_amount formato. Assim, se um campo Item único tiver um ID de 2, por exemplo, a variável de campo será $F2. Enquanto o valor selecionado será $F2_amount.
  • Os valores num campo Caixas de verificação ou Itens de caixa de verificação podem ser acedidos utilizando o $FX_n sintaxe. Onde X é o ID do campo e n é a opção Caixa de verificação. Isto significa essencialmente que a primeira escolha num campo de caixas de verificação será $FX_1, a escolha 2 será $FX_2e assim por diante.

Opções de campo das caixas de verificação

  • Escolha múltipla e Menu suspenso não suportam atualmente opções de seleção utilizando IDs únicos. Se pretender direcionar a opção que o utilizador selecionou numa instrução if, terá de utilizar uma correspondência exacta para verificar o valor na sua condição. Aqui está um exemplo:
    if ($FX == 'primeira escolha'):
       // fórmula a executar
    endif;

Sugestões a considerar antes de criar fórmulas

Antes de criar as suas fórmulas, há algumas dicas a ter em conta para o ajudar a acelerar o processo e evitar erros. De seguida, explicamos as nossas principais recomendações:

  • Certifique-se de que conhece a fórmula que pretende utilizar para o cálculo. O conhecimento prévio da fórmula permitir-lhe-á saber quais os campos a adicionar ao seu formulário.
  • Utilize o campo Oculto se pretender armazenar o resultado de um cálculo noutra variável de campo. A extensão Cálculos não suporta a utilização de variáveis personalizadas. Por isso, se necessitar desta funcionalidade para a sua fórmula, considere a utilização do campo Oculto para armazenar os resultados do cálculo.
  • Quando concatenar uma cadeia de caracteres e um número no seu campo, sugerimos que utilize o campo Texto de linha única ou Texto de parágrafo.
  • Se estiver a combinar uma cadeia de caracteres e um número, inclua a sua fórmula numa instrução if e defina a condição para mostrar apenas se o utilizador tiver preenchido as variáveis do campo obrigatório. Isso garante que o campo não tenha um valor indefinido no front-end.

Incluir a fórmula com instruções if

Criação de fórmulas com operadores aritméticos

O addon Cálculos permite-lhe criar fórmulas básicas para executar acções como adição, subtração, multiplicação e divisão.

Para este exemplo, vamos criar uma calculadora que efectua operações aritméticas quando são dados 2 números.

Comece por abrir o criador de formulários e adicione 2 campos Números. Clique em cada campo e altere o Rótulo do campo para o nome que desejar. Para este exemplo, utilizaremos Número 1 e Número 2 como etiqueta para ambos os campos.

Adicionar etiquetas de campo

Em seguida, vamos adicionar um Divisor de secção e alterar a Etiqueta para Operações aritméticas. A seguir, vamos adicionar um campo Layout e 4 campos Números com as etiquetas Adição, Subtração, Multiplicação e Divisão.

Operações aritméticas Campos de cálculos

Agora, selecione o campo Addition (Adição ) para abrir as Opções de Campo. Depois disso, navegue até ao separador Advanced (Avançadas ).

Clique no separador Avançadas

Uma vez aí, coloque a opção Ativar cálculo na posição "ligado".

Ativar o modo de cálculo

No criador de fórmulas, vamos escrever uma equação para adicionar o valor de ambos os campos Números ($F1 + $F2).

Fórmula de adição

Depois de adicionar a primeira fórmula, certifique-se de que ativa os cálculos nos restantes campos e actualiza as fórmulas. A fórmula para cada campo deve ser a seguinte:

  • Adição: $F1 + $F2
  • Subtração: $F1 - $F2
  • Multiplicação: $F1 * $F2
  • Divisão: $F1 / $F2

Nota: Certifique-se de que as variáveis de campo correspondem aos campos Números do seu formulário.

Depois de ter adicionado a fórmula para cada campo, guarde e pré-visualize o formulário para garantir que as equações funcionam como esperado.

Exemplo de operações aritméticas

Construir fórmulas com expressões condicionais

As instruções if/else permitem-lhe criar fórmulas avançadas que só funcionarão se as condições especificadas forem cumpridas. Por defeito, a instrução if tem a seguinte sintaxe:

if(condição):
   // fórmula para calcular se for verdadeiro
else:
   // fórmula para calcular em falso
endif;

Dentro do parêntesis após a declaração if, terá de especificar a(s) condição(ões) que pretende verificar. Em seguida, no bloco if, escreva a equação que pretende executar se a condição for verdadeira.

O bloco else contém a equação que deve ser executada se a condição for falsa. Aqui está um exemplo de como você provavelmente usaria essa instrução condicional.

se($FX_amount > 50):
   ($FX_amount * 5/100)
senão:
   7
endif;

Nota: X na equação acima é utilizado para indicar o ID do campo. Ao escrever as suas equações, certifique-se de que substitui X com o ID do campo que pretende utilizar.

No exemplo acima, estamos a ativar o modo de cálculo num campo Item único e a verificar se o montante que o utilizador selecionou é superior a 50. Se for verdadeiro, o custo adicional é de 5% do valor do pagamento. Caso contrário, no bloco else, definimos a taxa para 7 para qualquer valor inferior a 50.

Se pretender adicionar várias condições à sua equação, utilize a função elseif() declaração. Aqui está uma versão actualizada da equação acima.

if ($FX_amount > 50 && $FX_amount <= 200): 
   $FX_amount * (5 / 100) 
elseif($FX_amount > 200):
   $FX_amount * (2.5 / 100)   
else:
   10
endif;

O addon Cálculos permite-lhe utilizar um número ilimitado de elseif no editor de fórmulas. No editor de fórmulas, também é possível aninhar instruções if dentro de uma instrução if. Eis um exemplo.

if ($FX_amount > 50 && $FX_amount <= 200): 
   if($FX == 'shipping'):
      $FX_amount * (5 / 100) 
   endif;
elseif($FX_amount > 200):
   $FX_amount * (2.5 / 100)   
else:
   10
endif;

Nota: Qualquer declaração if que adicione ao construtor de fórmulas deve ter um endif; linha. Caso contrário, a sua fórmula dará origem a um erro quando a validar.

Criação de fórmulas com operadores de comparação

Os operadores de comparação permitem-lhe comparar uma variável de campo com um número, uma cadeia de caracteres ou o valor de outra variável de campo. São frequentemente utilizados para escrever as condições das instruções if. Eis um exemplo.

if ($FX < 25): 
    $FX * (10 / 100)
elseif($FX >= 25 && $FX < 150): 
    $FX * (5 / 100)
elseif($FX >= 150): 
    $FX * (3 / 100)
else: 
    10 
endif;

Na fórmula acima, estamos a utilizar operadores de comparação para escrever as condições para cada bloco de instruções if. A primeira condição que retornar verdadeiro será executada.

Repare que utilizámos o operador lógico AND (&&) num dos operadores elseif condicional. Os operadores lógicos permitem-lhe encadear 2 ou mais condições. Na próxima secção, explicaremos em pormenor o seu funcionamento.

Construir fórmulas com operadores lógicos

A extensão Cálculos suporta a utilização de operadores lógicos como os operadores E e OU. Na folha de consulta, encontrará os operadores lógicos disponíveis e a forma como são representados no construtor de fórmulas. Abaixo, destacámos os operadores lógicos que a extensão Cálculos suporta.

  • E (&&): A declaração retornará verdadeiro quando todas as condições forem verdadeiras.
  • OU (||): A expressão retornará verdadeiro se qualquer uma das condições individuais for verdadeira.
  • NÃO (!): Também conhecido como negação. Converte um valor verdadeiro em falso e vice-versa.

Estes operadores podem ser utilizados em combinação com declarações condicionais. Permitem-lhe restringir a sua declaração condicional juntando 2 ou mais condições. Eis um caso de utilização básico para estes operadores.

Calculadora de notas usando o operador AND

Para este exemplo, vamos criar uma calculadora que devolve a nota do utilizador com base na sua pontuação. Para começar, adicione um campo Numbers (Números) e um campo Single Line Text (Texto de uma linha) e altere as etiquetas dos campos para Score (Pontuação ) e Grade Point (Nota), respetivamente.

Depois disso, active o modo de cálculo no campo Classificação e adicione a fórmula abaixo.

Utilização de operadores lógicos

if ( $F3 >= 95 ):
    'A+'
elseif ( $F3 >= 90 && $F3 < 95 ):
    'A'
elseif ( $F3 >= 85 && $F3 < 90 ):
    'B+'
elseif ( $F3 >= 80 && $F3 < 85 ):
    'B'
elseif ( $F3 >= 75 &&  $F3 < 80 ):
    'C+'
elseif ( $F3 >= 70 &&  $F3 < 75 ):
    'C'
elseif ( $F3 >= 65 &&  $F3 < 70 ):
    'D+'
elseif ( $F3 >= 60 &&  $F3 < 65 ):
    'D'
elseif (  $F3 >=0 &&  $F3 < 60 ): 
    'F'
endif;

Nota: $F3 na equação acima é a variável de campo para o campo Pontuação. Certifique-se de que o ID corresponde ao do seu construtor de formulários.

Se utilizar o && a condição será verdadeira se ambas as comparações forem verdadeiras.

Calculadora de custo por clique

Para este exemplo, estamos a calcular o custo por clique para uma determinada campanha. Isto requer 2 variáveis de campo: Valor total cobrado e Número de cliques obtidos. Assim, terá de adicionar 2 campos Números e atualizar o Rótulo de cada campo para Montante total cobrado e Número de cliques, respetivamente.

Também precisamos de adicionar um campo Item único para efetuar o cálculo.

Depois de adicionar estes 3 campos, selecione o campo Item único e altere a etiqueta para Custo por clique (CPC). Em seguida, navegue até o separador Avançado e active o modo de cálculo. Depois disso, adicione a equação abaixo ao criador de fórmulas.

se ( $F1 || $F2 ): 
     $F1 / $F2
senão:
     0
endif;

Na condição, estamos a verificar se o utilizador introduziu um valor em qualquer um dos campos. Quando uma das condições for verdadeira, a equação na instrução if será executada.

Utilização de funções suportadas em fórmulas de cálculo

A extensão Cálculos suporta várias funções para executar facilmente tarefas específicas. Existem funções matemáticas, funções de cadeia de caracteres, funções de data/hora e uma função de depuração. Na documentação da folha de cálculo, verá uma lista das funções suportadas e como funcionam.

Funções matemáticas

Existem funções para efetuar operações matemáticas básicas e complexas. Estas funções ajudam a reduzir o número de equações necessárias na sua fórmula.

Por exemplo, em vez de escrever manualmente uma equação para encontrar a média entre 2 ou mais números, pode utilizar a função average() para calcular o valor médio de um determinado conjunto de números. Aqui está um exemplo de implementação.

Utilizando a função média

média($F1, $F2, $F3)

No exemplo acima, estamos a calcular a média de 3 campos Números. No entanto, é possível adicionar um número ilimitado de campos ao campo average() função.

Quando o utilizador introduzir um valor para cada campo Números, o campo com os cálculos activados devolverá a média desses números.

Calculadora de números médios

Outra função que provavelmente utilizará é a função round() função. Esta função recebe 2 argumentos:

  • Valor (variável de campo): O número que pretende arredondar. Este pode ser o resultado de um cálculo no seu formulário.
  • Precisão: O nível de precisão indica o número de casas decimais que pretende utilizar. Se introduzir 2, o número será arredondado para as 2 casas decimais mais próximas.

Pode utilizar outra função como parâmetro para a sua função. Por exemplo, podemos envolver a fórmula da média que utilizámos no exemplo acima com a função de arredondamento e definir o nível de precisão para 2.

round(média($F1, $F2, $F3), 2)

Esta equação executa primeiro a média dos números. Depois disso, o round() arredondará o resultado para as 2 casas decimais mais próximas.

Existem outras funções que pode utilizar para criar as suas fórmulas. Algumas delas incluem a potência de expoente (pow(base, exponent)), raiz quadrada (sqrt(value)), logaritmo (log(value)), gerador de números aleatórios (rand(min, max)), entre outros.

Sugerimos que reveja o guia da folha de cálculo para ver se existe uma função para a fórmula que pretende construir.

Funções de cadeia de caracteres

Existem muitas funções que podem ser utilizadas para efetuar operações em cadeias de caracteres no criador de fórmulas. Uma das funções mais populares é a função concat() função. Esta função permite-lhe combinar 2 ou mais cadeias de caracteres ou números.

Dentro dos parênteses, adiciona as cadeias de caracteres e os números que pretende combinar e separa-os com uma vírgula. Aqui está um exemplo.

concat('Número gerado aleatoriamente ', rand($F1, $F2))

Nota: É possível combinar cadeias de caracteres e números ilimitados utilizando o concat() função. Não se esqueça de separar cada item com uma vírgula.

No frontend, o campo irá gerar um número aleatório e concatenar a cadeia de caracteres e o resultado como o valor do campo.

Gerador de números aleatórios

Outra função útil é a função truncate() função. Esta função aceita 2 parâmetros: O texto da cadeia e o comprimento a truncar.

Se utilizar esta função, esta irá retirar o texto da cadeia de caracteres e devolver caracteres até ao número que especificou como comprimento. Isto pode ser útil se quiser gerar automaticamente nomes de utilizador para os seus utilizadores com base no seu endereço de correio eletrónico. Aqui está um exemplo.

Gerador de nome de utilizador

No criador de formulários, adicione um campo E-mail e um campo Texto de linha única. Em seguida, selecione o campo Texto de uma linha, altere o Rótulo para Nome de utilizador e active o cálculo para o campo.

No criador de fórmulas, adicione a equação abaixo.

truncar($F1, 6)

$F1 na fórmula acima é o campo Email que será utilizado como texto da cadeia. 6 é o comprimento da cadeia de caracteres a devolver. Isto significa que a fórmula devolverá os primeiros 6 caracteres do campo de correio eletrónico.

Cadeia truncada

Funções de data/hora

O addon Calculations fornece funções de data e hora para utilizar na construção das suas fórmulas. Estas funções têm vários casos de utilização, como a criação de um relógio básico no seu sítio ou a criação de uma calculadora de idade.

Por exemplo, o now() devolve a data e a hora actuais sempre que o utilizador abre o formulário no frontend do seu sítio Web.

Utilizar a função now

A imagem acima mostra o formato predefinido do ficheiro now() função. No entanto, é possível personalizar a forma como a data é apresentada especificando um formato na função.

O formato de data no addon Calculations funciona da mesma forma que no núcleo do WordPress. Abaixo, listamos alguns formatos suportados.

Formato Exemplo
d-m-y 19-10-23
F j, Y 19 de outubro de 2023
d/m/Y 19/10/2023

Nota: Para saber mais sobre os formatos de data suportados, certifique-se de que consulta a documentação oficial do WordPress.

Outra função útil é a função date_diff() função. Esta função aceita 2 campos de data e devolve a diferença entre eles. É necessário um terceiro argumento para especificar a unidade que pretende devolver. Abaixo estão as unidades disponíveis atualmente suportadas:

  • Anos
  • Meses
  • Semanas
  • Dias
  • Horas
  • Minutos
  • Segundos

Vamos construir uma calculadora de idade usando o date_diff() função.

Calculadora de idade utilizando a função de data

Comece por adicionar um campo Data / Hora. Depois disso, altere o Formato para Data e actualize a Etiqueta do campo para Data de nascimento.

Alterar o formato da etiqueta e da data

Nota: Se estiver a utilizar a opção do menu pendente de data, não poderá selecionar um ano futuro no menu pendente Ano. Consulte nosso tutorial sobre como personalizar o menu suspenso de data se quiser atualizar o comportamento padrão.

Em seguida, adicione 2 campos de texto de linha única. Para o primeiro campo, altere o Rótulo para Data atual e, em seguida, active os cálculos para o campo.

No criador de fórmulas, basta adicionar o now() função. Isto devolveria a data e a hora actuais.

Adicionar a função now ao construtor de fórmulas

Para o segundo campo de texto de linha única, actualize a etiqueta para A sua idade e, em seguida, active o modo de cálculo. No criador de fórmulas, adicione a equação abaixo.

date_diff($F1, $F2, 'years')

Estamos a utilizar o date_diff() para devolver a diferença entre os valores Data atual e o campo Data de nascimento domínio.

No nosso exemplo, $F1 é o campo Data de nascimento, enquanto $F2 é o campo Data atual. O campo 'years' que adicionámos devolverá a diferença de datas em anos. Se usarmos 'months' em vez disso, devolverá a diferença de data em meses.

Quando guardar e pré-visualizar o seu formulário, poderá estimar a sua idade atual depois de introduzir a sua data de nascimento.

Exemplo de calculadora de idade

Se pretender calcular o intervalo de tempo entre 2 campos de Data/Hora, pode utilizar a função years() função. Aceita 2 argumentos (data de início e data de fim) e um parâmetro de formato opcional. Esta função devolve a diferença entre 2 datas em anos, num formato semelhante ao da função date_diff() função.

Utilizar a função years()

Também é possível utilizar o months(), weeks(), ou days() se pretender devolver a diferença de data em meses, semanas ou dias, respetivamente. Não se esqueça de rever a função guia de cábulas para ver outras funções de data e hora.

Acesso a valores de data e hora no Gerador de fórmulas

Se estiver a criar uma fórmula que exija a segmentação dos valores individuais para os subcampos de data e hora num campo Data/Hora, pode utilizar a sintaxe de subcampo.

Nota: É necessário utilizar o formato Data e Hora para poder aceder aos valores individuais dos subcampos de data e hora.

Para aceder ao subcampo de data no criador de fórmulas, utilize a sintaxe $FX_date. Não se esqueça de substituir X com o ID do campo. No nosso exemplo, este valor é 1.

Aceder ao valor da data no criador de fórmulas

Da mesma forma, utilize o $FX_time para aceder ao valor do subcampo de tempo.

Aceder ao valor temporal

Perguntas mais frequentes

Estas são as respostas a algumas das principais perguntas sobre a criação de fórmulas com a extensão Cálculos.

Posso ativar o modo de depuração para cálculos a partir do menu Ferramentas do WPForms?

O debug() produz dados de depuração para o ficheiro debug.log no seu servidor. Isto pode ser útil na resolução de erros nas suas fórmulas. Atualmente, só é possível utilizar esta função no criador de fórmulas. Quando adicionada ao construtor de fórmulas, registará quaisquer dados de depuração para o formulário específico no qual activou o modo de cálculo.

É isso mesmo! Agora já sabe como criar fórmulas para os seus formulários de cálculo.

Em seguida, gostaria de criar um formulário de íman de leads para captar leads no seu Web site? Consulte o nosso guia para saber como instalar e utilizar o suplemento Formulários de leads.

O melhor plug-in de criação de formulários de arrastar e soltar do WordPress

Fácil, rápido e seguro. Junte-se a mais de 6 milhões de proprietários de sites que confiam no WPForms.

Active o JavaScript no seu browser para preencher este formulário.