Creación de fórmulas con el complemento de cálculos

Los cálculos son una función Pro

Desbloquee Cálculos y otras potentes funciones para hacer crecer su negocio.

Obtener WPForms Pro

¿Te gustaría aprender a crear fórmulas para realizar operaciones básicas y avanzadas en tus formularios de WordPress? Con el addon Calculations, podrás convertir tus formularios en calculadoras para resolver problemas específicos de los usuarios.

Este tutorial explicará cómo construir fórmulas cubriendo todas las reglas, operaciones y funciones de la guía de la hoja de trucos del addon de Cálculos.


Antes de empezar, primero tendrá que asegurarse de que WPForms está instalado y activado en su sitio de WordPress y que ha verificado su licencia.

Acceso a la documentación de la Cheatsheet

Nota: Necesitará tener el complemento Cálculos instalado y activado en su sitio de WordPress para seguir esta guía. Consulta la documentación del complemento Cál culos para empezar.

Después de instalar el complemento Cálculos, cree un nuevo formulario o edite uno existente para acceder al constructor de formularios.

En el constructor de formularios, tendrá que añadir uno de los campos admitidos para poder activar el modo de cálculo en el campo del formulario.

Una vez que haya añadido un campo compatible, haga clic en él para abrir el panel Opciones de campo. A continuación, vaya a la pestaña Avanzado. Allí verás el botón Activar cálculo.

Activar el modo Cálculos

Al activar esta opción se abrirá el constructor de fórmulas. Aquí puede crear fórmulas y realizar cálculos utilizando otros valores de campo como variables.

Puede acceder a la documentación de la hoja de trucos del complemento Cálculos haciendo clic en el enlace Hoja de trucos situado encima del generador de fórmulas.

Acceder a la Guía de trucos

También puede acceder a esta página a través de este enlace. La guía de la hoja de trucos contiene las distintas reglas, operadores y funciones que admite actualmente el complemento Cálculos.

Comprender las reglas y los operadores del complemento de cálculo

Al igual que los lenguajes de programación tienen reglas y sintaxis, el generador de fórmulas también tiene su propio conjunto de reglas. El cumplimiento de estas reglas garantiza que las fórmulas funcionen según lo previsto. A continuación te explicamos las más importantes.

  • Al sumar números, sólo puedes utilizar un punto (.) para los valores decimales (por ejemplo, 59,99). El uso de comas para separar números grandes no está permitido y dará error al validar la fórmula.

Error de validación

  • Encierre el texto de la cadena entre comillas simples (') o dobles (").
  • Sólo puede utilizar sus campos de formulario como variables en el constructor de fórmulas. El complemento Cálculos no permite declarar variables que no sean variables de campo.
  • Añadir un punto y coma después de cada línea en el constructor de fórmulas es opcional. Sin embargo, si está escribiendo sentencias condicionales, el punto y coma endif debe llevar punto y coma.

En las próximas secciones, explicaremos cómo funcionan las variables y mostraremos ejemplos de operaciones compatibles en el constructor de fórmulas.

Utilización de variables de campo

Una vez activado el modo de cálculo en un campo admitido, puede utilizar otros campos del formulario como variables para construir su fórmula. A continuación se indican las reglas que se deben seguir al utilizar variables de campo.

  • Cada variable de campo comienza con $F seguido del ID del campo. Así, el nombre completo de la variable será $FX (donde X es el ID del campo).
  • Las variables de campo para los subcampos se añaden utilizando la sintaxis $FX_subfield. En X es el ID del campo y subfield es el identificador del subcampo. Por ejemplo, F1_first representa el subcampo nombre del campo Nombre.
  • Para acceder al valor que los usuarios seleccionan en un campo de pago, utilice la función $FX_amount formato. Así, por ejemplo, si un campo Elemento único tiene un ID de 2, la variable de campo será $F2. Mientras que la cantidad de valor seleccionado será $F2_amount.
  • Se puede acceder a los valores de un campo Casillas de verificación o Elementos de casilla de verificación mediante la función $FX_n sintaxis. Donde X es el ID del campo y n es la opción Casilla de verificación. Esto significa esencialmente que la primera opción en un campo Casilla de verificación será $FX_1la opción 2 será $FX_2etc.

Casillas de verificación

  • Elección múltiple y Desplegable no admiten actualmente la selección de opciones mediante ID únicos. Si desea seleccionar la opción seleccionada por el usuario en una sentencia if, deberá utilizar una coincidencia exacta para comprobar el valor de la condición. He aquí un ejemplo:
    if ($FX == 'primera opción'):
       // fórmula a ejecutar
    endif;

Consejos a tener en cuenta antes de crear fórmulas

Antes de crear tus fórmulas, debes tener en cuenta algunos consejos que te ayudarán a acelerar el proceso y evitar errores. A continuación te explicamos nuestras principales recomendaciones:

  • Asegúrese de conocer la fórmula que desea utilizar para el cálculo. Conocer la fórmula previamente te permitirá saber los campos que debes añadir a tu formulario.
  • Utilice el campo Oculto si desea almacenar el resultado de un cálculo en otra variable de campo. El complemento Cálculos no admite el uso de variables personalizadas. Por lo tanto, si necesita esta funcionalidad para su fórmula, considere la posibilidad de utilizar el campo Oculto para almacenar los resultados del cálculo.
  • Cuando concatene una cadena y un número en su campo, le sugerimos que utilice el campo Texto de una línea o Texto de párrafo.
  • Si está combinando una cadena y un número, encierre su fórmula en una sentencia if y establezca la condición para que sólo se muestre si el usuario ha rellenado las variables del campo requerido. Esto garantiza que el campo no tenga un valor indefinido en el frontend.

Encierre la fórmula con sentencias if

Construcción de fórmulas con operadores aritméticos

El complemento Cálculos te permite construir fórmulas básicas para realizar acciones como sumas, restas, multiplicaciones y divisiones.

Para este ejemplo, crearemos una calculadora que realice operaciones aritméticas cuando se le den 2 números.

Empieza abriendo el constructor de formularios y añadiendo 2 campos Numbers. Haga clic en cada campo y cambie la etiqueta del campo por el nombre que desee. En este ejemplo, utilizaremos Número 1 y Número 2 como etiquetas para ambos campos.

Añadir etiquetas de campo

A continuación, añadiremos un Divisor de sección y cambiaremos la Etiqueta a Operaciones aritméticas. A continuación, añadiremos un campo Diseño y 4 campos Números con las etiquetas Suma, Resta, Multiplicación y División.

Operaciones aritméticas Cálculos Campos

Ahora, seleccione el campo Adición para abrir sus Opciones de campo. A continuación, vaya a la pestaña Avanzado.

Haga clic en la pestaña Avanzado

Una vez allí, active la opción Activar cálculo.

Activar el modo de cálculo

En el constructor de fórmulas, escribiremos una ecuación para sumar el valor de ambos campos Números ($F1 + $F2).

Fórmula de adición

Después de añadir la primera fórmula, asegúrese de activar los cálculos en los campos restantes y actualizar las fórmulas. La fórmula para cada campo debe ser:

  • Adición: $F1 + $F2
  • Resta: $F1 - $F2
  • Multiplicación: $F1 * $F2
  • División: $F1 / $F2

Nota: Asegúrese de que las variables de campo coinciden con los campos Numbers de su formulario.

Una vez que hayas añadido la fórmula para cada campo, guarda y previsualiza tu formulario para asegurarte de que las ecuaciones funcionan como esperas.

Ejemplo de operaciones aritméticas

Fórmulas de construcción con sentencias condicionales

Las sentencias if/else permiten construir fórmulas avanzadas que sólo funcionarán si se cumplen las condiciones especificadas. Por defecto, la sentencia if tiene la siguiente sintaxis:

if(condición):
   // fórmula para calcular en true
si no
   // fórmula a calcular en falso
endif;

Dentro del paréntesis después de la sentencia if, tendrá que especificar la(s) condición(es) que desea comprobar. A continuación, dentro del bloque if, escriba la ecuación que desea realizar si la condición es verdadera.

El bloque else contiene la ecuación que debe ejecutarse si la condición es falsa. He aquí un ejemplo de cómo utilizaría probablemente esta sentencia condicional.

si($FX_importe > 50):
   ($FX_importe * 5/100)
si no
   7
endif;

Nota: X en la ecuación anterior se utiliza para indicar el ID del campo. Cuando escriba sus ecuaciones, asegúrese de sustituir X con el ID del campo que desea utilizar.

En el ejemplo anterior, estamos activando el modo de cálculo en un campo Artículo único y comprobando si el importe seleccionado por el usuario es superior a 50. Si es cierto, el cargo adicional es del 5% del importe del pago. Si es cierto, el cargo adicional es del 5% del importe del pago. De lo contrario, en el bloque else, establecemos el cargo en 7 para cualquier importe inferior a 50.

Si desea añadir varias condiciones a la ecuación, utilice la función elseif() declaración. He aquí una versión actualizada de la ecuación anterior.

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

El complemento Cálculos le permite utilizar un número ilimitado de elseif en el editor de fórmulas. En el constructor de fórmulas, también puede anidar sentencias if dentro de una sentencia if. He aquí un ejemplo.

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: Cualquier sentencia if que añadas al constructor de fórmulas debe tener un carácter endif; línea. De lo contrario, su fórmula devolverá un error al validarla.

Construcción de fórmulas con operadores de comparación

Los operadores de comparación permiten comparar una variable de campo con un número, una cadena o el valor de otra variable de campo. Suelen utilizarse para escribir las condiciones de las sentencias if. He aquí un ejemplo.

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

En la fórmula anterior, estamos utilizando operadores de comparación para escribir las condiciones de cada bloque de sentencia if. Se ejecutará la primera condición que devuelva verdadero.

Observe que hemos utilizado la función lógica AND (&&) en uno de los elseif condicional. Los operadores lógicos te permiten encadenar 2 o más condiciones. En la siguiente sección, explicaremos cómo funcionan en detalle.

Fórmulas de construcción con operadores lógicos

El addon de Cálculos soporta el uso de operadores lógicos como AND y OR. En la hoja de trucos, encontrará los operadores lógicos disponibles y cómo se representan en el constructor de fórmulas. A continuación hemos resaltado los operadores lógicos que soporta el complemento Cálculos.

  • Y (&&): La sentencia devolverá verdadero cuando todas las condiciones sean verdaderas.
  • O (||): La sentencia devolverá verdadero si alguna de las condiciones individuales es verdadera.
  • NO (!): También conocida como negación. Convierte un valor verdadero en falso y viceversa.

Estos operadores pueden utilizarse en combinación con sentencias condicionales. Permiten restringir la sentencia condicional uniendo 2 o más condiciones. He aquí un caso de uso básico de estos operadores.

Calculadora de notas utilizando el operador AND

Para este ejemplo, construiremos una calculadora que devuelva la calificación del usuario basada en su puntaje. Para empezar, añada un campo Números y un campo Texto de una línea y cambie las etiquetas de los campos a Puntuación y Calificación respectivamente.

A continuación, active el modo de cálculo en el campo Grade Point y añada la fórmula siguiente.

Uso 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 en la ecuación anterior es la variable de campo para el campo Puntuación. Asegúrese de que el ID coincide con el de su creador de formularios.

Si utiliza el && la condición será verdadera si ambas comparaciones son verdaderas.

Calculadora de coste por clic

En este ejemplo, estamos calculando el coste por clic de una campaña determinada. Esto requiere 2 variables de campo: Importe total cobrado y Número de clics obtenidos. Por lo tanto, tendrá que añadir 2 campos Numbers y actualizar la etiqueta de cada campo a Total amount charged y Number of clicks respectivamente.

También tendremos que añadir un campo Elemento único para realizar el cálculo.

Una vez que haya añadido estos 3 campos, seleccione el campo Artículo único y cambie la Etiqueta a Coste por clic (CPC). A continuación, vaya a la pestaña Avanzado y active el modo de cálculo. Después de eso, añade la ecuación de abajo al constructor de fórmulas.

si ( $F1 || $F2 ): 
     $F1 / $F2
si no
     0
endif;

En la condición, comprobamos si el usuario ha introducido un valor en alguno de los campos. Una vez que una de las condiciones sea verdadera, se ejecutará la ecuación de la sentencia if.

Uso de funciones compatibles en fórmulas de cálculo

El complemento Cálculos admite numerosas funciones para realizar fácilmente tareas específicas. Hay funciones matemáticas, funciones de cadena, funciones de fecha/hora y una función de depuración. En la documentación de la hoja de trucos, verás una lista de las funciones soportadas y cómo funcionan.

Funciones matemáticas

Existen funciones para realizar operaciones matemáticas básicas y complejas. Estas funciones ayudan a reducir el número de ecuaciones que necesitarás en tu fórmula.

Por ejemplo, en lugar de escribir manualmente una ecuación para hallar la media entre 2 o más números, puede utilizar la función average() para calcular el valor medio de un conjunto dado de números. He aquí un ejemplo de implementación.

Mediante la función media

media($F1, $F2, $F3)

En el ejemplo anterior, estamos calculando la media de 3 campos Numbers. Sin embargo, puede añadir un número ilimitado de campos a la función average() función.

Una vez que el usuario introduce un valor para cada campo Números, el campo con los cálculos activados devolverá la media de estos números.

Calculadora del número medio

Otra función que probablemente utilizará es la función round() función. Esta función recibe 2 argumentos:

  • Valor (variable de campo): El número que desea redondear. Puede ser el resultado de un cálculo del formulario.
  • Precisión: El nivel de precisión indica el número de decimales que desea utilizar. Si introduce 2, redondeará el número a los dos decimales más próximos.

Puede utilizar otra función como parámetro para su función. Por ejemplo, podemos envolver la fórmula promedio que utilizamos en el ejemplo anterior con la función redondear y establecer el nivel de precisión en 2.

round(media($F1, $F2, $F3), 2)

Esta ecuación ejecutará primero la media de los números. Después, la round() redondeará el resultado a los 2 decimales más próximos.

Hay otras funciones que puedes utilizar cuando construyas tus fórmulas. Algunas de ellas son la potencia del exponente (pow(base, exponent)), raíz cuadrada (sqrt(value)), logaritmo (log(value)), generador de números aleatorios (rand(min, max)), entre otros.

Le sugerimos que revise la guía de la hoja de trucos para ver si existe una función para la fórmula que pretende construir.

Funciones de cadena

Hay muchas funciones que puedes utilizar para realizar operaciones con cadenas en el constructor de fórmulas. Una de las funciones más populares es la función concat() función. Esta función permite combinar 2 o más cadenas o números.

Dentro del paréntesis, añadirás las cadenas y los números que quieras combinar y separarás cada uno con una coma. Aquí tienes un ejemplo.

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

Nota: Puede combinar un número ilimitado de cadenas y números utilizando la función concat() función. Asegúrate de separar cada elemento con una coma.

En el frontend, el campo generará un número aleatorio y concatenará la cadena y el resultado como valor del campo.

Generador de números aleatorios

Otra función útil es truncate() función. Esta función acepta 2 parámetros: La cadena de texto y la longitud a truncar.

Si utiliza esta función, eliminará el texto de la cadena y devolverá los caracteres hasta el número que haya especificado como longitud. Esto puede ser útil si desea generar automáticamente nombres de usuario para sus usuarios basándose en su dirección de correo electrónico. He aquí un ejemplo.

Generador de nombres de usuario

En el constructor de formularios, añada un campo Email y un campo Texto Unifilar. A continuación, seleccione el campo Texto unifilar, cambie la etiqueta a Nombre de usuario y active el cálculo para el campo.

Dentro del constructor de fórmulas, añade la ecuación que aparece a continuación.

truncar($F1, 6)

$F1 en la fórmula anterior es el campo Email que se utilizará como cadena de texto. 6 es la longitud de la cadena a devolver. Esto significa que la fórmula devolverá los 6 primeros caracteres del campo Email.

Cadena truncada

Funciones de fecha y hora

El addon de Cálculos proporciona funciones de fecha y hora para usar cuando construyas tus fórmulas. Estas funciones tienen varios casos de uso, como la creación de un reloj básico en su sitio o hacer una calculadora de edad.

Por ejemplo, el now() devuelve la fecha y hora actuales cada vez que el usuario abre el formulario en el frontend de su sitio web.

Utilización de la función now

La imagen de arriba muestra el formato por defecto del now() . Sin embargo, puede personalizar cómo se muestra la fecha especificando un formato en la función.

El formato de fecha en el complemento Cálculos funciona igual que en el núcleo de WordPress. A continuación hemos enumerado algunos formatos compatibles.

Formato Ejemplo
d-m-y 19-10-23
F j, Y 19 de octubre de 2023
d/m/Y 19/10/2023

Nota: Para obtener más información sobre los formatos de fecha compatibles, consulte la documentación oficial de WordPress.

Otra función útil es date_diff() función. Esta función acepta 2 campos de fecha y devuelve la diferencia entre ellos. Se requiere un tercer argumento para especificar la unidad que desea devolver. A continuación se muestran las unidades disponibles actualmente:

  • Años
  • Meses
  • Semanas
  • Días
  • Horas
  • Actas
  • Segundos

Construyamos una calculadora de edad utilizando la función date_diff() función.

Calculadora de edad con la función de fecha

Empiece añadiendo un campo Fecha / Hora. Después, cambie el Formato a Fecha y actualice la Etiqueta del campo a Fecha de nacimiento.

Cambiar etiqueta y formato de fecha

Nota: Si utiliza la opción Desplegable de fecha, no podrá seleccionar un año futuro en el desplegable Año. Consulte nuestro tutorial sobre la personalización del desplegable de fecha si desea actualizar el comportamiento predeterminado.

A continuación, añada 2 campos de texto de una línea. Para el primer campo, cambie la etiqueta a Fecha actual y active los cálculos para el campo.

En el constructor de fórmulas, basta con añadir el now() función. Esto devolvería la fecha y hora actuales.

Añade la función now al constructor de fórmulas

Para el segundo campo de texto unifilar, actualice la etiqueta a Su edad y active el modo de cálculo. En el generador de fórmulas, añada la ecuación siguiente.

date_diff($F1, $F2, 'años')

Estamos utilizando el date_diff() para devolver la diferencia entre Fecha actual y el campo Fecha de nacimiento campo.

En nuestro ejemplo, $F1 es el campo Fecha de nacimiento, mientras que $F2 es el campo Fecha actual. La dirección 'years' que hemos añadido nos devolverá la diferencia de fechas en años. Si utilizamos 'months' en su lugar, devolverá la diferencia de fecha en meses.

Cuando guardes y previsualices tu formulario, podrás estimar tu edad actual tras introducir tu fecha de nacimiento.

Ejemplo de calculadora de edad

Si desea calcular el intervalo de tiempo entre 2 campos Fecha / Hora, puede utilizar la función years() . Acepta 2 argumentos (fecha inicial y final) y un parámetro de formato opcional. Esta función devuelve la diferencia entre 2 fechas en formato de años similar a la función date_diff() función.

Utilización de la función years()

También puede utilizar la función months(), weeks()o days() si desea devolver la diferencia de fecha en meses, semanas o días respectivamente. Asegúrese de revisar la función guía práctica para ver otras funciones de fecha y hora.

Acceso a valores de fecha y hora en el editor de fórmulas

Si está construyendo una fórmula que requiere seleccionar los valores individuales para los subcampos de fecha y hora en un campo Fecha / Hora, puede utilizar la sintaxis de subcampo.

Nota: Deberá utilizar el formato Fecha y hora para poder acceder a los valores individuales de los subcampos de fecha y hora.

Para acceder al subcampo de fecha en el constructor de fórmulas, utilice la sintaxis $FX_date. Asegúrese de sustituir X con el ID del campo. En nuestro ejemplo, este valor es 1.

Acceso al valor de la fecha en el generador de fórmulas

Del mismo modo, utilice la función $FX_time para acceder al valor del subcampo de tiempo.

Acceso al valor del tiempo

Preguntas frecuentes

Estas son las respuestas a algunas de las preguntas más frecuentes sobre la creación de fórmulas con el complemento Cálculos.

¿Puedo activar el modo de depuración para los cálculos desde el menú Herramientas de WPForms?

En debug() envía datos de depuración al archivo debug.log de su servidor. Esto puede ser útil para solucionar errores en las fórmulas. Actualmente, sólo puede utilizar esta función dentro del constructor de fórmulas. Cuando se añade al constructor de fórmulas, registrará cualquier dato de depuración para el formulario en particular en el que haya habilitado el modo de cálculo.

Ya está. Ahora ya sabes cómo construir fórmulas para tus formularios de cálculo.

A continuación, ¿le gustaría crear un formulario de captación de clientes potenciales para captar clientes potenciales en su sitio web? Consulte nuestra guía para aprender a instalar y utilizar el complemento Lead Forms.

El mejor plugin de WordPress para crear formularios arrastrando y soltando

Fácil, rápido y seguro. Únete a más de 6 millones de propietarios de sitios web que confían en WPForms.

Active JavaScript en su navegador para rellenar este formulario.