Come creare un modulo Quiz

Volete creare un modulo a quiz utilizzando WPForms? Utilizzando i campi di pagamento è possibile creare facilmente un modulo per quiz che tiene conto del punteggio totale del quiz. In questo tutorial vi mostreremo come potete farlo facilmente utilizzando i campi di pagamento.

Creare il modulo del quiz

Inizieremo creando un nuovo modulo. Nel nostro modulo, aggiungeremo i campi Nome e Email all'inizio del modulo. Quindi, utilizzando le interruzioni di pagina, suddivideremo il quiz in 6 categorie. In ogni interruzione di pagina il titolo della pagina mostrerà la categoria in cui si trovano attualmente i partecipanti al quiz.

Si può iniziare creando il modulo e aggiungendo i campi. si possono suddividere le categorie dei quiz aggiungendo delle interruzioni di pagina tra una categoria e l'altra.

Per qualsiasi aiuto nella creazione del modulo, consultare questa guida.

Domande a quiz

Per questa documentazione, utilizzeremo i campi Multiple Items nella sezione Payment Fields del costruttore di moduli per porre le domande del quiz e cambiare le etichette fornendo 3 risposte per ogni domanda. Per la risposta corretta, inserire un 1,00 per la risposta corretta e 0,00 per le risposte errate.

utilizzare le voci multiple sotto i campi di pagamento per porre la domanda e fornire 1 risposta corretta con un importo in dollari di 1,00 e inserire uno zero per l'importo delle risposte errate

Continuate a farlo attraverso le domande e le categorie. Ogni domanda deve avere una risposta con un 1,00 per la risposta corretta e 0,00 per le risposte errate. Utilizzeremo l'importo per raccogliere un totale progressivo per ogni risposta corretta.

Tempo di totalizzare le risposte

Ora vogliamo tenere traccia del numero totale di punti per ogni risposta corretta. Per questo, in fondo al modulo, aggiungeremo un campo Totale. Tuttavia, assegneremo a questo campo una classe CSS nella scheda Avanzate, in modo da tenerlo nascosto alla vista fino all'invio del modulo.

aggiungere il nome della classe CSS nella scheda Avanzate per il campo totale

Una volta salvato il modulo, si dovrà aggiungere il CSS necessario per nascondere questo campo. Copiate il CSS nel vostro sito. Se avete bisogno di aiuto per capire come e dove aggiungere i CSS personalizzati, consultate questo tutorial.

.hide-field {display: none;}

Creare la logica del quiz

Ora è il momento di aggiungere lo snippet che metterà insieme il tutto. Vogliamo visualizzare un messaggio di conferma personalizzato che mostri un messaggio di ringraziamento con il nome di chi ha partecipato al quiz e fornisca un punteggio totale. Poiché non vogliamo simboli di valuta o importi in dollari in questo totale, utilizzeremo uno snippet personalizzato che costruirà il nostro messaggio di conferma personalizzato.

Copiate e incollate questo snippet sul vostro sito; se avete bisogno di aiuto per capire come e dove aggiungere gli snippet, consultate questo utile 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 );


Questo snippet verrà eseguito solo sul modulo ID 3221. Prenderà il nome dell'utente dal nostro campo Nome nel campo ID 1, in modo da poterlo visualizzare nel nostro messaggio di conferma personalizzato. Questo snippet prenderà quindi l'importo dal campo Totale del modulo, che è l'ID del campo 7, rimuoverà il simbolo di valuta e gli spazi bianchi e convertirà ciò che rimane in un numero intero, senza punto decimale o zeri.

È necessario aggiornare ciascuno di questi ID in modo che corrispondano agli ID dei propri moduli e campi. Per trovare i propri numeri ID, consultare questa documentazione.

Non è necessario aggiungere nulla alla scheda Conferme, poiché il messaggio del nostro snippet è il messaggio che gli utenti vedranno quando avranno completato il quiz. Assicuratevi di aggiornare questo messaggio in modo che corrisponda a quello che vi serve per il vostro quiz.

Ora, quando gli utenti arrivano alla fine del quiz, fanno clic su Invia e possono vedere immediatamente quante risposte hanno ottenuto correttamente.

i partecipanti al quiz potranno vedere il loro punteggio totale non appena avranno inviato il modulo.

E questo è tutto! Volete che il modulo venga inviato automaticamente in base al valore di uno dei vostri campi? Consultate il nostro tutorial su Come inviare automaticamente un modulo con una scelta di campo.

Filtro di riferimento

wpforms_frontend_confirmation_message