Set up a quiz

Est. Reading: 3 minutes
By: wildways
Created: 03/24/2017
Difficulty: Beginner

Set up a quiz

×Warning: This tutorial was created 2578 days ago. Some of the information may be out of date with more recent versions of Formidable. Please proceed with caution and always perform a backup before adding custom code.

BUILD Section

Create a new Form and set up your questions. Radio Buttons and Check boxes work best, but other field types can also work.

Set each questions field to use ‘Separate Values’ and score each answer. For example, ‘1’ for a correct answer and ‘0’ for an incorrect one. If you need more than one value for multiple possible answers on the same question, you will need to add a letter before similar values. For example: A1 B1 C1 A0 B0 etc. Formidable will ignore the letters and only see the numbers. The problem is you cannot have more than one option with an identical value.

For each quiz form, add a final Hidden field and use ‘Calculate the default value for this field’ then add all the question fields together to give a score. For example:   ([470]+[472])/4*100   will give a % result if the total of the right answers scoring is 4.

Make sure you have the User ID field on the form so that each person will see their own quiz/score.

In the form settings, set ‘Permissions’ to ‘Limit form visibility and submission to: Logged In Users’. The front end editing depends on your own preferences. I have set mine to allow Users to be able to edit attempts, in order for them to be able to delete the attempt, but you may not want to do this.

In the ‘Messages’ at the bottom, you will add a message for Users who do not meet the pass score. Something like:

Oops... your Score: [471]%

Read this page again and then you can try again.

You cannot just refresh the page using the refresh button as it will submit the form again. You must click in the address bar of the browser and hit enter to see the quiz again.

I have used HTML to make it look nice. [471] is the ID of the calculated Score field on the form.

Views Section

Go to the Views tab and create a new ‘View
Set it to ‘Single Entry’. Then in the ‘Detail page’ add the text you want the User to see if they are successful.

Well done [469] - You Scored: [471]%
on the: [created-at]
[deletelink label="Delete this successful attempt if you would like to repeat this Quiz now"

[469] is the User ID field of the form. [471] the calculated score field. What you put here is up to you. There are many options you could use.

The delete link is put there in case you want the User to be able to delete the successful attempt and try again, or just use it whilst you are testing the setup and you can remove it afterwards.


Filter the entries to:

User ID – equal to – current_user
Score – equal to – 100 (use whatever pass score you want here)


In the ‘No Entries Message’ ad in the short code for the Form: [Formidable id=24 minimize=1]

24 being the ID of the form.


Now add the VIEW to a page on the website. Do NOT add the Form short code. ie. [display-frm-data id=1351 filter=1]

It is done this way around so that the quiz will display if they have not yet done it, or achieved a pass result. If they have achieved a pass score, the congratulations message will display, with the option to delete the attempt if they want to do it again.

In my instance I have set and additional filter:

Entry Creation date – greater than or equal to  -180 day

This means the User will be prompted, by the quiz reappearing, to re do the quiz every 6 months as a form of ensuring the knowledge is retained.

Leave a Reply

Making the Best WordPress Plugin even better - Together

Take on bigger projects with confidence knowing you have access to an entire community of Formidable Experts and Professionals who have your back when the going gets tough. You got this!
Join the community