¡Atención!

Este artículo contiene código PHP y CSS y está destinado a desarrolladores. Ofrecemos este código como cortesía, pero no proporcionamos soporte para personalizaciones de código o desarrollo de terceros.

Para obtener orientación adicional, consulta el tutorial de WPBeginner sobre cómo añadir código personalizado y CSS personalizado.

Descartar

Cómo Crear un Formulario de Cuestionario

¿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.

Recomendamos usar el Complemento de Cuestionarios para la mayoría de los sitios, pero esta guía aún incluye una opción basada en fragmentos para cualquiera que prefiera este enfoque.


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.

Si estás empezando, también puedes explorar nuestras plantillas de formularios de cuestionarios para crear rápidamente un cuestionario y personalizarlo para tu sitio.

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.

comience creando su formulario y agregue sus campos. Puede dividir las categorías del cuestionario agregando saltos de página entre cada categoría.

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.

use los Múltiples elementos en los campos de pago para hacer su pregunta y proporcione 1 respuesta correcta con un monto de dólar de 1.00 y coloque un cero para el monto de 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.

agregue el nombre de la clase CSS en la pestaña Avanzado para el campo total.

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.

Filtro de Referencia

wpforms_frontend_confirmation_message