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).
| Level | Label |
|---|---|
| 1 | Essentials |
| 2 | Standard |
| 3 | Expert |
| 4 | Absolutely everything — you were warned |
Operator contract
- Edit
wp/wp-content/plugins/quizwizz/config/settings-tiers.jsonas 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.
| Panel | Row key | Tier | Purpose |
|---|---|---|---|
| General | modes.dynamic | 1 | Offers generated quizzes built from matching question pools. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:238-246) |
| General | modes.prebuilt | 1 | Offers prepared, published quizzes from the library. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:248-255) |
| General | outcomes.play | 1 | Offers the interactive player with feedback. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:257-265) |
| General | outcomes.pdf | 1 | Offers a downloadable or fine-tunable printable PDF. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:267-273) |
| General | count.default | 1 | Sets the default number of questions. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:278-288) |
| General | langs.en | 1 | Makes English available when a matching question pool exists. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:315-332) |
| General | langs.de | 1 | Makes German available when a matching question pool exists. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:315-332) |
| General | langs.fr | 1 | Makes French available when a matching question pool exists. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:315-332) |
| General | langs.es | 1 | Makes Spanish available when a matching question pool exists. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:315-332) |
| General | iface_lang | 1 | Sets the QuizWizz admin, Builder and player language without changing WordPress. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:335-345) |
| General | count.range | 2 | Sets the allowed minimum plus guest and signed-in question-count maxima. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:297-313) |
| General | count.presets | 2 | Sets the question-count shortcuts shown in the Builder. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:290-296) |
| General | diffs.any | 2 | Offers the Any difficulty choice. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:347-362) |
| General | diffs.easy | 2 | Offers the Easy difficulty choice. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:347-362) |
| General | diffs.normal | 2 | Offers the Medium difficulty choice. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:347-362) |
| General | diffs.hard | 2 | Offers the Hard difficulty choice. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:347-362) |
| General | diffs.prog | 2 | Offers the Increasing difficulty choice. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:347-362) |
| Builder | question_types.mixed | 2 | Allows 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) |
| Builder | question_types.multiple | 2 | Allows visitors to request multiple-choice questions. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:380-398) |
| Builder | question_types.boolean | 2 | Allows visitors to request true/false questions. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:380-398) |
| Builder | cats | 2 | Controls which categories the Builder and server-side selection can use. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:400-406) |
| Builder | matrix.title | 3 | Controls whether visitors can rename the generated quiz title. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:251-260) |
| Builder | matrix.lang | 3 | Controls whether visitors get a language picker when at least two pools exist. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:262-271) |
| Player | player.autostart | 1 | Controls whether quizzes start immediately. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:435-438) |
| Player | player.play_page_id | 1 | Chooses 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) |
| Player | player.auto_advance | 1 | Chooses automatic or manual progression and the feedback delay. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:451-474) |
| Player | player.instant_feedback | 1 | Allows immediate answer feedback within the site ceiling. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:410-430) |
| Player | player.sound_default | 1 | Controls the site-wide play-sound ceiling. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:410-422,475-478) |
| Player | player.explanations | 2 | Allows explanations when the quiz policy permits them. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:431-434) |
| Player | player.final_cue | 2 | Chooses the final-ten sound cue or turns it off. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:479-494) |
| Player | player.score_animation | 2 | Allows the score animation within the site ceiling. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:410-422,496-499) |
| Player | player.actions.retry | 2 | Controls whether the completion screen offers Retry. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:501-513) |
| Player | player.actions.new | 2 | Controls whether the completion screen offers New quiz. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:501-513) |
| Player | player.actions.print | 2 | Controls whether the completion screen offers Print. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:501-513) |
| Player | player.actions.share | 2 | Controls whether the completion screen offers Share. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:501-513) |
| Presentation | presentation.prepend_style | 2 | Selects clean, alphabetical or numerical prefixes. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:527-541) |
| Presentation | presentation.show_question_count | 2 | Controls the shared “Question 2 of 10” cue in play and print. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:542-548) |
| Presentation | presentation.question_numbering | 2 | Selects numeric, alphabetical or hidden question labels. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:549-563) |
| Presentation | presentation.answer_marker | 2 | Selects circle, square or no answer marker. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:564-578) |
| Presentation | presentation.layout_cols | 2 | Selects one or two print columns. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:583-594) |
| Presentation | presentation.answer_key_questions | 3 | Controls whether the answer key repeats question text. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:596-602) |
| Presentation | presentation.answer_key_explanations | 3 | Controls whether the answer key includes explanations. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:603-606) |
| Presentation | matrix.key | 3 | Controls whether answer keys and explanations are hidden, forced or visitor-selectable. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:162-172) |
| Presentation | matrix.labels | 3 | Controls whether answer-label style is fixed or visitor-selectable. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:173-184) |
| Presentation | presentation.editor_hint | 4 | Controls whether helper copy appears in the editor. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:579-582) |
| PDF & Print | branding.paper | 2 | Selects A4 or Letter paper size. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:642-662) |
| PDF & Print | branding.footer_credit | 2 | Sets the credit text printed in the footer. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:663-666) |
| PDF & Print | branding.banner_source | 2 | Selects 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 & Print | branding.logo_url | 3 | Stores the existing Media Library URL used for an uploaded banner. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:704-722) |
| PDF & Print | branding.banner_icon | 3 | Selects the built-in sheet-banner icon. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:724-736) |
| PDF & Print | matrix.foot | 3 | Controls the “Page 1 of 2” footer on PDF sheets. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:185-195) |
| PDF & Print | matrix.fill | 3 | Controls Name, Date and Class fill-in lines on PDFs. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:196-206) |
| PDF & Print | matrix.logo | 3 | Controls whether the configured sheet banner is hidden, forced or visitor-selectable. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:207-217) |
| PDF & Print | matrix.pdf_theme | 3 | Controls whether the PDF theme is silently applied or visitor-selectable. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:273-283) |
| PDF & Print | matrix.editor | 4 | Controls whether the pre-print fine-tune editor is hidden, forced or visitor-selectable. (wp/wp-content/plugins/quizwizz/includes/ExposureSettings.php:218-228) |
| Theme | themes | 2 | Enables PDF themes and chooses the default theme. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:742-770) |
| AI | ai.enabled | 2 | Enables provider traffic and spending for AI features. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:783-789) |
| AI | ai.data_collection | 3 | Allows or blocks providers that collect request data. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:795-813) |
| AI | ai.zdr | 3 | Requires zero-data-retention routing. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:814-820) |
| AI | ai.budgets | 3 | Sets the site-wide and guest daily AI spending caps. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:824-832,885-894) |
| AI | ai.rate_user | 3 | Caps signed-in AI requests per hour. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:834-840) |
| AI | ai.max_output_tokens | 3 | Caps output tokens per AI request. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:834-844) |
| AI | ai.max_prompt_chars | 3 | Caps prompt characters per AI request. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:845-848) |
| AI | ai.timeout | 3 | Sets the AI request timeout. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:849-852) |
| AI | ai.max_prompt_price | 3 | Rejects models above the prompt-price limit. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:855-862) |
| AI | ai.max_completion_price | 3 | Rejects models above the completion-price limit. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:855-866) |
| AI | ai.max_request_price | 3 | Caps the permitted price of one AI request. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:855-871) |
| AI | ai.guest_enabled | 3 | Enables 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) |
| AI | ai.guest_rate | 3 | Caps guest AI requests per hour. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:895-899) |
| AI | ai.guest_model | 3 | Pins one concrete OpenRouter model for visitor requests. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:900-904) |
| AI | ai.guest_provider | 3 | Pins one OpenRouter provider endpoint for visitor requests. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:905-909) |
| Data | lifecycle.guest_quiz_hours | 3 | Sets the lifetime of guest quizzes in hours. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:927-932) |
| Data | lifecycle.backup_retention | 3 | Sets how many protected settings backups are kept. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:933-936) |
| Data | lifecycle.preserve_on_uninstall | 3 | Controls whether uninstall preserves QuizWizz content. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:937-944) |
| Advanced — Admin UI | admin_ui.dashbar_style | 3 | Selects the cards, bar or slim presentation for the admin statistics dashbar. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:1027-1044) |
| Advanced | cat_ui.show_subs | 4 | Controls whether subcategories are shown. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:1047-1049) |
| Advanced | cat_ui.fold_subs | 4 | Controls whether parent categories fold into enabled children. (wp/wp-content/plugins/quizwizz/includes/Admin/views/settings-page.php:1051-1053) |