The Quiz Maker plugin allows you to automatically score quizzes and show possible results based on the outcome. These online quizzes are great for online courses, teachers who would like to go paperless, and more.
- Create a trivia quiz using Scored quizzes.
- Create an interactive viral quiz using Outcome quizzes.
Download and install
- If you haven't already done so, install and activate Formidable Forms Pro.
- In your WordPress admin, go to Formidable → Add-Ons and click the Install button for the WordPress Quiz Maker plugin.
Create a quiz
The quiz form action includes the option to set the form as an outcome quiz or scored quiz. Only one quiz form action will be allowed per form.
The form actions will include options for what to display after submission (show the scored form with answers marked and score, show the results for the outcome). This will append to the form success message rather than replace it.
Create a scored quiz
- Create a form the same way as other Formidable forms.
Drag and drop the fields you need and add any options you would like. To make a multiple choice quiz, include dropdown or radio fields in the quiz form.
- Go to the form you would like to use with the Quiz Maker. Click on Settings → Actions & Notifications → Scored Quiz.
- Give your Scored Quiz action an Action Name for easy reference. This name will only be seen on the back-end.
- Choose when this action should be triggered: Entry is created, Entry is updated, and Entry is imported.
- If you would like the quiz taker to see their score immediately after submission, choose from the different options.
- Use default settings: Displays the default submit message. You can use [x show=percent] to display the percentage score. Replace x with the ID or field key of the Quiz Score.
- Show the score: Displays the submit message with the total score and correct answer count. This is not recommended with any manual scored fields, since the score will be 0.
- Show user's answers: Displays the submit message with the quiz score and the submitted answers of the user.
- Show correct answers: Displays the submit message and the submitted answers of the user. If the answer is wrong, the correct answer will be shown.
- Use default settings: Displays the default submit message. You can use [x show=percent] to display the percentage score. Replace x with the ID or field key of the Quiz Score.
- Click on the Customize Quiz Scoring button to open the Scored Quiz modal. See scoring a quiz for more information.
To add the correct answer(s), click the toggle button next to the question. Select or type in the correct answer in the box. Each correct answer is worth one point.
- There are also other form actions settings that you can choose.
- Randomize questions: Show the fields in a random order each time the form is loaded
- Randomize options: Change the order of options in a field with multiple options (radio, checkbox, select)
- Allow negative scoring: Applicable only for questions with advanced scoring. For example, in a checkbox field with 4 choices, you could have scores of 1, -1, -1, 1. So the question would be worth 2 points but you could possibly get -2 on that question.
- Your quiz form is now ready to start collecting and automatically grading quizzes. When a quiz is created or updated, the score is saved in the Quiz Score field in that entry.
Create an outcome quiz
When outcome form action is selected, the form action will include options to create the possible results. It is where each answer is mapped to a result. Each will be counted as one point toward the result.
- If you haven't yet, create a form the same way as other Formidable forms.
- Drag and drop the fields you need and add any options you want to include. For example, to create a multiple choice question, you can use a radio button field in your form. This method is also good for true/false questions. You can use different form fields to create your quiz questions.
- Go to the form you would like to use with the Quiz Maker. Click on Settings → Actions & Notifications → Quiz Outcome.
- Give your Outcome Quiz action an Action Name for easy reference. This name will only be seen on the back-end.
- Choose when this action should be triggered: Entry is created, Entry is updated, and Entry is imported.
- Click the Upload image button to display a featured image with the outcome results. This image will be shown above the text results.
- In the Visual/Text editor, add the results you want to display. It uses the WordPress rich text editor that allows you to easily add bold text, links, ordered lists, blockquotes, etc.
- If you have multiple options, click the Add another outcome button.
- Select the Add Outcome Conditions button. Set it up to trigger the results when a certain outcome condition has been set.
The outcome with the highest number of matches will show after form submission. When there is a tie, it shows the outcome with the lower ID. - Your quiz form is ready to start collecting and automatically displaying outcome results. When a quiz is created or updated, the result is saved in the Outcome Quiz field in that entry.
- Notes:
- An outcome with no conditions will be used as the default if none of the other outcomes are a match.
- An outcome with no image and no content will not be used.
Scoring a quiz
Scoring a quiz can be customized by clicking the Customize Quiz Scoring button in the Quiz form action settings. By default, each correct answer is worth one point. The following field types are excluded from the scoring:
- User ID field
- Hidden field
- Rich text field
- File upload fields
- Signature fields
Filtering correct choices
Single line text and Paragraph fields have an option to enter a comma-separated list of correct choices.
When filtering the correct answers, the following options are available:
- Should equal: Requires an exact answer to be correct.
- Should contain all: Requires answers to contain all choices to be correct.
- Should contain one: Requires answers to contain at least one of the choices to be correct. For example, if the correct choice is "today", answers like "It is Today" will be accepted.
- Should not contain: Requires answer to not contain any of the choices to be correct.
Advanced scoring
Click the toggle button right to question and select the Advanced scoring checkbox to add points for each option.
Manual scoring
Text fields and paragraph fields include an option to Score this field manually. To set this up, follow the steps below.
- Select the Score this field manually checkbox to set a maximum score for this field. After a quiz is submitted, it will be unscored until the manual portion is graded.
- To score a submitted quiz, go to the Formidable → Entries page and click the link to view that entry.
- Any fields that need to be scored will include a Change link below the answer.
- Click Change, enter the score, and click the Save button.
- Now, a score will be given for the whole quiz.
Set a custom grading scale
The default grading scale includes only letter grades (A, B, C, D, and F). To customize this scale, go to the Formidable → Global Settings → Quizzes page. Any numbers that are not covered by the scale settings will not show a letter grade when the score is displayed.
Display the quiz
Display the quiz score
By default, the quiz score is displayed as the fraction of correct answers (ie "9/10"). The formatting options are listed below. In these examples, replace 'x' with the ID or field key of the Quiz Score field in the form. You can use these examples in a View, Email Notification, success message, or other Formidable contexts where field shortcodes work.
- Fraction correct (default). Example: 9/10
[x]
- Correct answer count. Example: 9
[x show=total]
- Percentage correct. Example: 90%
[x show=percent]
- Letter grade. Example: A
[x show=grade]
If a user is logged in when the submit a quiz, you can add a User ID field the the form. With this, it's easy to add the quiz score anywhere with:
[frm-field-value field_id=x show=percent user_id=current]
Display the quiz outcome
You can display the quiz outcome with shortcodes and conditional statements. Use the show attribute with the outcome field shortcode to display different results.
- Entry results of the outcome (default).
[x]
- ID of the outcome.
[x show=id]
- Shows the count for each outcome. It works in the outcome content or in a View.
[x show=totals]
- Image HTML for the uploaded image used in the outcome.
[x show=image]
- Post_title of the outcome action.
[x show=title]
- Post_content description of the outcome action (wysiwyg).
[x show=message]
Display the quiz score in emails
When using the [default-message] shortcode in the email message, it will show the quiz score with the submitted answers of the user. If the answer is wrong and you want to show the correct answer, use the shortcode below.
[default-message format="quiz_correct_answers"]
Using conditionals based on quiz
Show content based on quiz score
If you would like to display a block of content if the quiz score has a specific correct answer count, use this shortcode. Replace x with the ID of the Quiz score field.
- Equals
[if x equals="2"]Scored 2[/if x]
If the quiz score equals '2', then the content between the opening and closing if statements will be displayed.
- Not equal
[if x not_equal="2"]Did not score 2[/if x]
If the quiz score is NOT equal to '2', then the content between the opening and closing if statements will be displayed.
- Greater than
[if x greater_than="8"]Congratulations! You passed.[/if x]
If the quiz score is greater than '8', then the content between the opening and closing if statements will be displayed.
- Less than
[if x less_than="7"]You failed. Take the quiz again.[/if x]
If the quiz score is less than '7', then the content between the opening and closing if statements will be displayed.
Show content based on quiz score grade
When using a custom grading scale, you can display a block of content if the quiz score has a specific grade with this shortcode. Replace x with the ID of the Quiz score field.
- If the quiz score letter grade equals 'A', then the content between the opening and closing if statements will be displayed.
[if x show=grade equals="A"]Scored an A[/if x]
- If the quiz score letter grade is NOT equal to 'A', then the content between the opening and closing if statements will be displayed.
[if x show=grade not_equal="A"]Did not score A[/if x]
Show content based on quiz score percent
If you would like to display a block of content if the quiz score has a specific percentage, use this shortcode. Replace x with the ID of the Quiz score field.
- If the quiz score percent equals '100%', then the content between the opening and closing if statements will be displayed.
[if x show=percent equals="100%"]Scored 100%[/if x]
- If the quiz score percent is NOT equal to '100%', then the content between the opening and closing if statements will be displayed.
[if x show=percent not_equal="100%"]Did not score 100%[/if x]
Show content based on quiz outcome
If you would like to display a block of content if the quiz outcome has a specific ID or text, use this shortcode. Replace x with the ID of the Quiz Outcome field.
- Equals
[if x equals=26]Match by outcome ID[/if]
If the quiz outcome matches the outcome ID equals '26', then the content between the opening and closing if statements will be displayed.
[if x show="title" equals="My outcome title"]Match by outcome title[/if x]
If the quiz outcome matches the outcome title, then the content between the opening and closing if statements will be displayed.
Related customizations
- Set which fields or field types are included in the score with frm_quiz_score_field.
- Set if an answer is correct or not with frm_quiz_is_correct.
- Customize the border radius of the uploaded image in an Outcome Quiz with frm_quiz_outcome_image_border_radius.
- Increase the limit in an Outcome Quiz with frm_quiz_outcome_action_options.