QuizWizz settings tiers

A settings tier is the operator-assigned disclosure level used by the Settings screen’s Screen Options selector; it is distinct from exposure settings, which govern visitor-control policy (wp/wp-content/plugins/quizwizz/includes/Admin/SettingsPage.php:107-138; wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:155-284).

Current bench state: commit 9f6d9a2 implements the tier file, Screen Options selector, row stamping, hash-based tier raising and search suspension. Cache-disabled Chromium passed settings tiers hide Expert rows, reveal them at Expert, and suspend during search; removing the Tier-1 hide selector made only that named gate red, and exact restoration replayed it green. Evidence: the 2026-09-01 polish-drive receipt.

Levels

The configured default is level 1 — Essentials (wp/wp-content/plugins/quizwizz/config/settings-tiers.json:3-9).

LevelLabel
1Essentials
2Standard
3Expert
4Absolutely everything — you were warned

Operator contract

  • Edit wp/wp-content/plugins/quizwizz/config/settings-tiers.json as a complete staged file, then install it with the WRDP stage-and-install protocol (wp/wp-content/plugins/quizwizz/includes/Admin/SettingsPage.php:141-153; .omp/skills/qwizz-shared-language/SKILL.md:24).
  • Unknown assignment keys are ignored; assigned rows use levels 1–4; rows without an assignment default to tier 2 (wp/wp-content/plugins/quizwizz/includes/Admin/SettingsPage.php:214-250; wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:37-50).
  • If the JSON file is missing or malformed, tier filtering is disabled entirely, leaving every settings row available instead of hiding rows (wp/wp-content/plugins/quizwizz/includes/Admin/SettingsPage.php:159-182,260-266; wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:37-40).

Assignment map

The 77 rows below are the complete configured assignment set, in exact parity with the live JSON; 15 are level 1 (wp/wp-content/plugins/quizwizz/config/settings-tiers.json:10-87). The Purpose column is grounded in the live Settings view or its canonical exposure catalog.

PanelRow keyTierPurpose
Generalmodes.dynamic1Offers generated quizzes built from matching question pools. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:238-246)
Generalmodes.prebuilt1Offers prepared, published quizzes from the library. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:248-255)
Generaloutcomes.play1Offers the interactive player with feedback. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:257-265)
Generaloutcomes.pdf1Offers a downloadable or fine-tunable printable PDF. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:267-273)
Generalcount.default1Sets the default number of questions. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:278-288)
Generallangs.en1Makes English available when a matching question pool exists. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:315-332)
Generallangs.de1Makes German available when a matching question pool exists. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:315-332)
Generallangs.fr1Makes French available when a matching question pool exists. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:315-332)
Generallangs.es1Makes Spanish available when a matching question pool exists. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:315-332)
Generaliface_lang1Sets the QuizWizz admin, Builder and player language without changing WordPress. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:335-345)
Generalcount.range2Sets the allowed minimum plus guest and signed-in question-count maxima. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:297-313)
Generalcount.presets2Sets the question-count shortcuts shown in the Builder. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:290-296)
Generaldiffs.any2Offers the Any difficulty choice. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:347-362)
Generaldiffs.easy2Offers the Easy difficulty choice. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:347-362)
Generaldiffs.normal2Offers the Medium difficulty choice. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:347-362)
Generaldiffs.hard2Offers the Hard difficulty choice. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:347-362)
Generaldiffs.prog2Offers the Increasing difficulty choice. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:347-362)
Builderquestion_types.mixed2Allows visitors to request a mix of multiple-choice and true/false questions. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:380-398)
Builderquestion_types.multiple2Allows visitors to request multiple-choice questions. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:380-398)
Builderquestion_types.boolean2Allows visitors to request true/false questions. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:380-398)
Buildercats2Controls which categories the Builder and server-side selection can use. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:400-406)
Buildermatrix.title3Controls whether visitors can rename the generated quiz title. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:251-260)
Buildermatrix.lang3Controls whether visitors get a language picker when at least two pools exist. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:262-271)
Playerplayer.autostart1Controls whether quizzes start immediately. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:435-438)
Playerplayer.play_page_id1Chooses the published page used to play quizzes, or the site front by default. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:97-107,439-450)
Playerplayer.auto_advance1Chooses automatic or manual progression and the feedback delay. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:451-474)
Playerplayer.instant_feedback1Allows immediate answer feedback within the site ceiling. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:410-430)
Playerplayer.sound_default1Controls the site-wide play-sound ceiling. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:410-422,475-478)
Playerplayer.explanations2Allows explanations when the quiz policy permits them. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:431-434)
Playerplayer.final_cue2Chooses the final-ten sound cue or turns it off. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:479-494)
Playerplayer.score_animation2Allows the score animation within the site ceiling. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:410-422,496-499)
Playerplayer.actions.retry2Controls whether the completion screen offers Retry. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:501-513)
Playerplayer.actions.new2Controls whether the completion screen offers New quiz. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:501-513)
Playerplayer.actions.print2Controls whether the completion screen offers Print. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:501-513)
Playerplayer.actions.share2Controls whether the completion screen offers Share. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:501-513)
Presentationpresentation.prepend_style2Selects clean, alphabetical or numerical prefixes. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:527-541)
Presentationpresentation.show_question_count2Controls the shared “Question 2 of 10” cue in play and print. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:542-548)
Presentationpresentation.question_numbering2Selects numeric, alphabetical or hidden question labels. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:549-563)
Presentationpresentation.answer_marker2Selects circle, square or no answer marker. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:564-578)
Presentationpresentation.layout_cols2Selects one or two print columns. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:583-594)
Presentationpresentation.answer_key_questions3Controls whether the answer key repeats question text. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:596-602)
Presentationpresentation.answer_key_explanations3Controls whether the answer key includes explanations. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:603-606)
Presentationmatrix.key3Controls whether answer keys and explanations are hidden, forced or visitor-selectable. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:162-172)
Presentationmatrix.labels3Controls whether answer-label style is fixed or visitor-selectable. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:173-184)
Presentationpresentation.editor_hint4Controls whether helper copy appears in the editor. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:579-582)
PDF & Printbranding.paper2Selects A4 or Letter paper size. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:642-662)
PDF & Printbranding.footer_credit2Sets the credit text printed in the footer. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:663-666)
PDF & Printbranding.banner_source2Selects the site identity, an upload or a built-in icon as the sheet banner. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:668-694)
PDF & Printbranding.logo_url3Stores the existing Media Library URL used for an uploaded banner. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:704-722)
PDF & Printbranding.banner_icon3Selects the built-in sheet-banner icon. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:724-736)
PDF & Printmatrix.foot3Controls the “Page 1 of 2” footer on PDF sheets. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:185-195)
PDF & Printmatrix.fill3Controls Name, Date and Class fill-in lines on PDFs. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:196-206)
PDF & Printmatrix.logo3Controls whether the configured sheet banner is hidden, forced or visitor-selectable. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:207-217)
PDF & Printmatrix.pdf_theme3Controls whether the PDF theme is silently applied or visitor-selectable. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:273-283)
PDF & Printmatrix.editor4Controls whether the pre-print fine-tune editor is hidden, forced or visitor-selectable. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:218-228)
Themethemes2Enables PDF themes and chooses the default theme. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:742-770)
AIai.enabled2Enables provider traffic and spending for AI features. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:783-789)
AIai.data_collection3Allows or blocks providers that collect request data. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:795-813)
AIai.zdr3Requires zero-data-retention routing. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:814-820)
AIai.budgets3Sets the site-wide and guest daily AI spending caps. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:824-832,885-894)
AIai.rate_user3Caps signed-in AI requests per hour. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:834-840)
AIai.max_output_tokens3Caps output tokens per AI request. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:834-844)
AIai.max_prompt_chars3Caps prompt characters per AI request. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:845-848)
AIai.timeout3Sets the AI request timeout. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:849-852)
AIai.max_prompt_price3Rejects models above the prompt-price limit. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:855-862)
AIai.max_completion_price3Rejects models above the completion-price limit. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:855-866)
AIai.max_request_price3Caps the permitted price of one AI request. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:855-871)
AIai.guest_enabled3Enables the visitor assistant subject to its provider, privacy, rate and budget gates. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:874-884)
AIai.guest_rate3Caps guest AI requests per hour. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:895-899)
AIai.guest_model3Pins one concrete OpenRouter model for visitor requests. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:900-904)
AIai.guest_provider3Pins one OpenRouter provider endpoint for visitor requests. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:905-909)
Datalifecycle.guest_quiz_hours3Sets the lifetime of guest quizzes in hours. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:927-932)
Datalifecycle.backup_retention3Sets how many protected settings backups are kept. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:933-936)
Datalifecycle.preserve_on_uninstall3Controls whether uninstall preserves QuizWizz content. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:937-944)
Advanced — Admin UIadmin_ui.dashbar_style3Selects the cards, bar or slim presentation for the admin statistics dashbar. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:1027-1044)
Advancedcat_ui.show_subs4Controls whether subcategories are shown. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:1047-1049)
Advancedcat_ui.fold_subs4Controls whether parent categories fold into enabled children. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:1051-1053)