Resumen de IA
¿Te gustaría crear un formulario de cuestionario en WPForms? WPForms incluye un Complemento de Cuestionarios que te proporciona todo lo necesario para crear formularios de cuestionarios directamente en el constructor de formularios.
En este tutorial, te mostraremos cómo crear un formulario de cuestionario utilizando una configuración basada en fragmentos que calcula y muestra la puntuación de un usuario después del envío.
Método recomendado para crear formularios de cuestionarios
WPForms incluye un Complemento de Cuestionarios dedicado, que es la forma más fácil y completa de crear formularios de cuestionarios.
El Complemento de Cuestionarios incluye funciones de cuestionario integradas y proporciona la forma más sencilla de crear y administrar formularios de cuestionarios en WPForms.
Para obtener detalles completos sobre el método recomendado, consulta nuestra documentación del Complemento de Cuestionarios.
Creación del formulario de cuestionario con un fragmento
Si aún deseas crear un formulario de cuestionario con una configuración personalizada, puedes seguir los pasos de esta guía y usar el fragmento de código a continuación.
Comenzaremos creando un nuevo formulario. En nuestro formulario, agregaremos los campos de formulario Nombre y Correo electrónico al principio del formulario. Luego, usando Saltos de página, dividiremos el cuestionario en 6 categorías. Cada Salto de página tendrá el Título de página mostrando en qué categoría se encuentran actualmente los que responden al cuestionario.

Para cualquier ayuda en la creación de tu formulario, consulta esta guía.
Añadir preguntas y puntuaciones del cuestionario
Para esta documentación, utilizaremos los campos de Elementos múltiples de la sección Campos de pago en el constructor de formularios para hacer nuestra pregunta de cuestionario y cambiar las etiquetas proporcionando 3 respuestas para cada pregunta. Para la respuesta correcta, introduce un 1.00 para la respuesta correcta y 0.00 para las respuestas incorrectas.

Continúa haciendo esto a través de tus preguntas y categorías. Cada pregunta debe tener una respuesta con un 1.00 para la respuesta correcta y 0.00 para las respuestas incorrectas. Usaremos la cantidad para obtener un total acumulado de cada respuesta correcta.
Añadir un campo Total para rastrear la puntuación
Ahora queremos rastrear el número total de puntos por cada respuesta correcta. Para lograr esto, en la parte inferior del formulario, agregaremos un campo Total. Sin embargo, le daremos a este campo una Clase CSS en la pestaña Avanzado para que podamos mantener este campo oculto a la vista hasta que se envíe el formulario.

Una vez que hayas guardado el formulario, querrás añadir el CSS necesario para ocultar este campo. Copia este CSS en tu sitio. Si necesitas ayuda para encontrar cómo y dónde añadir CSS personalizado, consulta este tutorial.
.hide-field {display: none;}
Mostrar la puntuación del cuestionario en el mensaje de confirmación
Para mostrar a los participantes del cuestionario su puntuación después del envío, agregue el fragmento a continuación a su sitio.
Este fragmento lee los valores enviados, obtiene el nombre y la puntuación del usuario, y muestra un mensaje de confirmación con el resultado final.
Copie y pegue este fragmento en su sitio. Si necesita ayuda sobre cómo y dónde agregar fragmentos, consulte este útil tutorial.
/**
* Display a custom confirmation message for our pub quiz.
*
* @link https://wpforms.com/developers/how-to-create-a-quiz-form/
*/
function wpf_dev_quiz_custom_confirmation_message( $message, $form_data, $fields, $entry_id ) {
// Only run on my form with ID = 3221
if ( absint( $form_data[ 'id' ] ) !== 3221 ) {
return $message;
}
// Get the name of the person who completed this form
$contact_name = $fields[ '1' ][ 'value' ];
// Get the points from the total field (field ID '7') to remove any decimals and currency symbols
$points_scored = $fields[ '7' ][ 'value' ];
// Remove white space and currency symbol
list($points_scored) = explode('.', $points_scored);
$points_scored = substr($points_scored, 5);
// Add the name and points scored to the message
$message = __('Thanks ' . $contact_name . ' you scored ' . $points_scored . ' out of a possible 35 points', 'plugin-domain');
return $message;
}
add_filter( 'wpforms_frontend_confirmation_message', 'wpf_dev_quiz_custom_confirmation_message', 10, 4 );
Este fragmento solo se ejecutará en el ID del formulario 3221. Obtendrá el nombre del usuario de nuestro campo Nombre en el ID de campo 1 para que pueda mostrarse en nuestro mensaje de confirmación personalizado. Luego, este fragmento obtendrá la cantidad de nuestro campo de formulario Total, que es el ID de campo 7, eliminará el símbolo de moneda y los espacios en blanco, y luego convertirá lo que quede en un número entero para que no haya puntos decimales ni ceros.
Deberá actualizar cada uno de estos ID para que coincidan con sus propios ID de formulario y campo. Para encontrar sus propios números de ID, revise esta documentación.
Ahora, cuando los usuarios lleguen al final del cuestionario, harán clic en Enviar y verán inmediatamente cuántas respuestas han acertado.
¡Y eso es todo! ¿Le gustaría que el formulario se envíe automáticamente en función del valor de uno de sus campos? Consulte nuestro tutorial sobre Cómo enviar un formulario automáticamente con la opción de un campo.