Guide

Quiz Builder user guide

Create and publish interactive quizzes on the quiz post type.

Create a quiz

  1. Go to Quizzes → Add New (or open All Quizzes DataViews and create from there).
  2. Insert a Quiz Controller (prc-quiz/controller). The usual tree is Controller → Pages → Page → Question → Answer, plus a Results region.
  3. Set quiz type on the Controller: scored quiz, typology/clustering, or freeform.
  4. Set display type: paged, scrollable, or fluid (fluid becomes paged on wide viewports and scrollable below 782px).
  5. Add navigation buttons with the quiz button variations (Start, Next, Previous, Submit, Reset).
  6. Publish. Public URLs follow /quiz/{slug}/ (and research-team prefixes when configured).

Quiz Builder blocks appear in the inserter only on the quiz post type, except Synced Quiz (prc-quiz/synced-quiz, legacy alias prc-quiz/embeddable), which you can place on other posts to reuse a quiz.

Knowledge quiz options

When type is scored quiz:

  • Live feedback — after an answer on single-choice or thermometer questions, show correct/incorrect and lock the question.
  • Answer correctness — Correct, Not sure (null), or Incorrect on each answer.
  • Score buckets — exclusive [min, max] ranges; print the matched label with the Matching Score Bucket block bit in Results.
  • Progress bar — linear fill, or Progress Circles (is-style-circles) for per-question marks. Circles include a skip control: Skip to last page / Go to first page on paged quizzes, and Scroll to end / Scroll to first page on scrollable quizzes.

Results table

The Result Table block has two styles. Simple is the default: one row per question with your answer and the correct answer. Complex lists every answer choice, marks the selection with a check or x, and shows % who selected each option.

Complex does not turn on just because demographic data exists. Select the Complex style on the block.

To enter percentages:

  1. Select the Quiz Controller (or the Result Table).
  2. Open Edit Results Table Data in the toolbar.
  3. Enter general-population values. Click Add column and name the demographic in the dialog. Open a demographic column heading to rename it, move it, or remove it.

On small screens the Complex table becomes one card per question.

Result histogram

The Result Histogram block is the score chart only. Public-share bins (# of correct answers% of the public) live on the Quiz Controller.

To enter those bins:

  1. Select the Quiz Controller.
  2. Open Edit Histogram Data in the toolbar.
  3. Enter the percent of the public for each number of correct answers. Use Add row and Remove row to change how many scores you enter. A typical quiz has a row for 0 through N correct answers.

To print X% of U.S. adults receive this score, insert the Adults Receiving This Score paragraph or heading variation inside Results. The chart and that sentence both read the same controller data.

Community groups

When group results are enabled and a Group Results block is present, participants can create a shared group. Group owners authenticate with Firebase; group tallies require Firebase availability.

To email those group creators:

  1. Enable Community Groups on the Quiz Controller.
  2. Open Quiz Analytics (editor sidebar, or Manage group-creator audience in Community Groups).
  3. Generate or rebuild the group-creators audience. The scan can take several minutes. You can leave the editor; the list is saved when the job finishes.
  4. Choose Create email draft to open a transactional Email Builder draft for that list.

Embed and iframe

Use /quiz/{slug}/embed/ or /quiz/{slug}/iframe/ for framed views. Prefer the Synced Quiz block when embedding inside other WordPress content.

Admin list and analytics

Quizzes → All Quizzes opens a DataViews screen with type, display type, groups, and question count. Working on and Watchers match the other Admin DataViews lists. Open analytics from list actions or from the quiz editor sidebar panel. Append ?classic=1 to the classic edit.php?post_type=quiz URL for the legacy list table.

Was this helpful?