Attention !

Cet article contient du code PHP et CSS et s'adresse aux développeurs. Nous proposons ce code à titre gracieux, mais nous n'offrons pas de support pour les personnalisations de code ou le développement tiers.

Pour obtenir des conseils supplémentaires, veuillez consulter le tutoriel de WPBeginner sur l'ajout de code personnalisé et de CSS personnalisé.

Ignorer

Comment créer un formulaire de quiz

Voulez-vous créer un formulaire de quiz dans WPForms ? WPForms inclut un module complémentaire Quiz qui vous donne tout ce dont vous avez besoin pour créer des formulaires de quiz directement dans le constructeur de formulaires.

Dans ce tutoriel, nous vous montrerons comment créer un formulaire de quiz en utilisant une configuration basée sur des extraits de code qui calcule et affiche le score d'un utilisateur après la soumission.

Nous recommandons d'utiliser le module complémentaire Quiz pour la plupart des sites, mais ce guide inclut toujours une option basée sur des extraits de code pour ceux qui préfèrent cette approche.


WPForms inclut un module complémentaire Quiz dédié, qui est le moyen le plus simple et le plus complet de créer des formulaires de quiz.

Le module complémentaire Quiz comprend des fonctionnalités de quiz intégrées et offre le moyen le plus simple de créer et de gérer des formulaires de quiz dans WPForms.

Pour plus de détails sur la méthode recommandée, veuillez consulter notre documentation sur le module complémentaire Quiz.

Si vous débutez, vous pouvez également parcourir nos modèles de formulaires de quiz pour créer rapidement un quiz et le personnaliser pour votre site.

Créer le formulaire de quiz avec un extrait de code

Si vous souhaitez toujours créer un formulaire de quiz avec une configuration personnalisée, vous pouvez suivre les étapes de ce guide et utiliser l'extrait de code ci-dessous.

Nous allons commencer par créer un nouveau formulaire. Dans notre formulaire, nous allons ajouter les champs de formulaire Nom et E-mail au début du formulaire. Ensuite, en utilisant les Sauts de page, nous allons diviser le quiz en 6 catégories. Chaque Saut de page aura le Titre de la page indiquant la catégorie sur laquelle se trouvent actuellement les participants au quiz.

commencez par créer votre formulaire et ajoutez vos champs. vous pouvez diviser les catégories de quiz en ajoutant des sauts de page entre chaque catégorie

Pour toute aide dans la création de votre formulaire, veuillez consulter ce guide.

Ajouter des questions et des scores de quiz

Pour cette documentation, nous allons utiliser les champs Éléments multiples dans la section Champs de paiement du constructeur de formulaires pour poser notre question de quiz et modifier les étiquettes en fournissant 3 réponses pour chaque question. Pour la bonne réponse, mettez 1,00 pour la bonne réponse et 0,00 pour les mauvaises réponses.

utilisez les Articles multiples sous les champs de paiement pour poser votre question et fournir 1 réponse correcte avec un montant de 1,00 $ et placez zéro pour le montant des réponses incorrectes

Continuez à faire cela pour vos questions et catégories. Chaque question doit avoir une réponse avec 1,00 pour la bonne réponse et 0,00 pour les mauvaises réponses. Nous utiliserons le montant pour obtenir un total cumulé pour chaque bonne réponse.

Ajouter un champ Total pour suivre le score

Maintenant, nous voulons suivre le nombre total de points pour chaque bonne réponse. Pour ce faire, en bas du formulaire, nous allons ajouter un champ Total. Cependant, nous allons donner à ce champ une Classe CSS dans l'onglet Avancé afin de pouvoir masquer ce champ jusqu'à la soumission du formulaire.

ajoutez le nom de la classe CSS dans l'onglet Avancé pour le champ total

Une fois que vous avez enregistré le formulaire, vous voudrez ajouter le CSS nécessaire pour masquer ce champ. Copiez ce CSS sur votre site. Si vous avez besoin d'aide pour trouver comment et où ajouter du CSS personnalisé, veuillez consulter ce tutoriel.

.hide-field {display: none;}

Affichage du score du quiz dans le message de confirmation

Pour montrer aux participants du quiz leur score après la soumission, ajoutez l'extrait ci-dessous à votre site.

Cet extrait lit les valeurs soumises, récupère le nom et le score de l'utilisateur, et affiche un message de confirmation avec le résultat final.

Copiez et collez cet extrait sur votre site. Si vous avez besoin d'aide sur comment et où ajouter des extraits, veuillez consulter ce tutoriel utile.

/**
 * 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 );

Cet extrait ne s'exécutera que sur l'ID de formulaire 3221. Il récupérera le nom de l'utilisateur à partir de notre champ Nom dans l'ID de champ 1 afin qu'il puisse être affiché dans notre message de confirmation personnalisé. Cet extrait récupérera ensuite le montant de notre champ de formulaire Total, qui est l'ID de champ 7, supprimera le symbole de la devise et les espaces blancs, puis convertira ce qui reste en un nombre entier afin qu'il n'y ait pas de décimales ou de zéros.

Vous devrez mettre à jour chacun de ces ID pour correspondre à vos propres ID de formulaire et de champ. Pour trouver vos propres numéros d'ID, veuillez consulter cette documentation.

Maintenant, lorsque les utilisateurs arriveront à la fin du quiz, ils cliqueront sur Soumettre et verront immédiatement combien de réponses ils ont obtenues correctement.

Et voilà ! Souhaitez-vous que le formulaire se soumette automatiquement en fonction de la valeur de l'un de vos champs de formulaire ? Consultez notre tutoriel sur Comment soumettre automatiquement un formulaire avec un choix de champ.

Filtre de référence

wpforms_frontend_confirmation_message