{"id":353409,"date":"2026-08-21T07:21:48","date_gmt":"2026-08-21T07:21:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/neutrope-quiz-engine\/"},"modified":"2026-08-21T07:21:32","modified_gmt":"2026-08-21T07:21:32","slug":"neutrope-quiz-engine","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/neutrope-quiz-engine\/","author":23488465,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.4.5","stable_tag":"0.4.5","tested":"7.0.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Neutrope Quiz Engine","header_author":"Neutrope","header_description":"\u691c\u5b9a\u30fb\u5b66\u7fd2\u30fb\u30e1\u30c7\u30a3\u30a2\u30b5\u30a4\u30c8\u5411\u3051\u306eWordPress\u30af\u30a4\u30ba\u30a8\u30f3\u30b8\u30f3\u3067\u3059\u3002\u7df4\u7fd2\u554f\u984c\u3001\u6a21\u64ec\u30c6\u30b9\u30c8\u3001\u96d1\u5b66\u30af\u30a4\u30ba\u306a\u3069\u3092\u4f5c\u6210\u30fb\u8868\u793a\u3067\u304d\u307e\u3059\u3002","assets_banners_color":"969bb1","last_updated":"2026-08-21 07:21:32","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/neutrope.biz\/neutrope-quiz-engine\/","header_author_uri":"https:\/\/neutrope.biz\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":40,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.4.5":{"tag":"0.4.5","author":"neutropeinc","date":"2026-08-21 07:21:32"}},"upgrade_notice":{"0.4.5":"<p>Breaking change: the shortcode, post types, taxonomies, handles and constants now use the unique <code>ntqengine<\/code> prefix, and <code>[nqe_quiz]<\/code> \/ <code>[ql_quiz]<\/code> \/ <code>[wpqe_quiz]<\/code> are removed. Use <code>[ntqengine_quiz set=&amp;quot;&amp;quot;]<\/code> and migrate existing content before upgrading.<\/p>","0.4.4":"<p>Adds browser-local anonymous quiz summary support for future Study Desk integrations when Pro integration data is available.<\/p>","0.4.3":"<p>Improves the quiz-completed JavaScript event payload for future Pro integrations.<\/p>","0.4.2":"<p>Fixes the page scroll position after viewing results and retrying a quiz. No breaking changes.<\/p>","0.4.1":"<p>Adds the <code>nqe:quiz:completed<\/code> JavaScript extension event. No breaking changes.<\/p>","0.4.0":"<p>Initial release of Neutrope Quiz Engine.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3658787,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3658787,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3658787,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3658787,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.4.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3658689,"resolution":"1","location":"assets","locale":"","width":1280,"height":1000},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3658689,"resolution":"2","location":"assets","locale":"","width":1280,"height":1062},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3658689,"resolution":"3","location":"assets","locale":"","width":1440,"height":1371},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3658689,"resolution":"4","location":"assets","locale":"","width":1440,"height":2160},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3658689,"resolution":"5","location":"assets","locale":"","width":1440,"height":1919}},"screenshots":{"1":"Quiz display on the front end (practice mode, step-by-step).","2":"Result screen with score, accuracy, pass \/ fail verdict and per-field\nbreakdown.","3":"Question admin: choices, correct answer, explanation and difficulty.","4":"Test set admin: mode, question count, time limit, pass mode, CTA and\ndisplay options.","5":"CSV import: dry-run report with per-row create \/ update \/ skip \/ error\ncounts."}},"plugin_section":[],"plugin_tags":[12709,16918,5613,583,586],"plugin_category":[53],"plugin_contributors":[264944],"plugin_business_model":[],"class_list":["post-353409","plugin","type-plugin","status-publish","hentry","plugin_tags-e-learning","plugin_tags-exam","plugin_tags-questions","plugin_tags-quiz","plugin_tags-test","plugin_category-ratings-and-reviews","plugin_contributors-neutropeinc","plugin_committers-neutropeinc"],"banners":{"banner":"https:\/\/ps.w.org\/neutrope-quiz-engine\/assets\/banner-772x250.png?rev=3658787","banner_2x":"https:\/\/ps.w.org\/neutrope-quiz-engine\/assets\/banner-1544x500.png?rev=3658787","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/neutrope-quiz-engine\/assets\/icon-128x128.png?rev=3658787","icon_2x":"https:\/\/ps.w.org\/neutrope-quiz-engine\/assets\/icon-256x256.png?rev=3658787","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/neutrope-quiz-engine\/assets\/screenshot-1.png?rev=3658689","caption":"Quiz display on the front end (practice mode, step-by-step)."},{"src":"https:\/\/ps.w.org\/neutrope-quiz-engine\/assets\/screenshot-2.png?rev=3658689","caption":"Result screen with score, accuracy, pass \/ fail verdict and per-field\nbreakdown."},{"src":"https:\/\/ps.w.org\/neutrope-quiz-engine\/assets\/screenshot-3.png?rev=3658689","caption":"Question admin: choices, correct answer, explanation and difficulty."},{"src":"https:\/\/ps.w.org\/neutrope-quiz-engine\/assets\/screenshot-4.png?rev=3658689","caption":"Test set admin: mode, question count, time limit, pass mode, CTA and\ndisplay options."},{"src":"https:\/\/ps.w.org\/neutrope-quiz-engine\/assets\/screenshot-5.png?rev=3658689","caption":"CSV import: dry-run report with per-row create \/ update \/ skip \/ error\ncounts."}],"raw_content":"<!--section=description-->\n<p><strong>Neutrope Quiz Engine<\/strong> is a flexible quiz engine for WordPress, designed for\ncertification study sites, e-learning, and media sites that want to embed\ninteractive quizzes. Build a library of questions and one or more test sets in\nthe WordPress admin, then drop a shortcode anywhere \u2014 on pages, posts, or\ncustom content \u2014 to render the quiz. Scoring happens entirely on the client,\nso quizzes work on cached \/ static pages and do not write to the database.<\/p>\n\n<h4>Core features<\/h4>\n\n<ul>\n<li>Questions and test sets managed as WordPress custom post types<\/li>\n<li>Practice mode (per-question feedback) and mock mode (graded at the end)<\/li>\n<li>Step-by-step or full-list display<\/li>\n<li>Question shuffling, choice shuffling, configurable choice labels (A\/B\/C\/D,\n\u30ab\u30ca, numeric, custom)<\/li>\n<li>Pass thresholds (% or score) and per-set time limit with countdown<\/li>\n<li>Question banks (practice \/ mock \/ \u904e\u53bb\u554f etc.) for grouped delivery<\/li>\n<li>Per-field accuracy breakdown on the results screen<\/li>\n<li>CSV import with dry-run, upsert and automatic term creation<\/li>\n<li>Configurable call-to-action link per test set on the result screen<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<ul>\n<li><code>[ntqengine_quiz set=\"&lt;ID&gt;\"]<\/code> \u2014 renders the test set with the given ID.<\/li>\n<\/ul>\n\n<p>Example: <code>[ntqengine_quiz set=\"123\"]<\/code><\/p>\n\n<h4>No external services<\/h4>\n\n<p>All processing happens inside your WordPress install. The plugin makes no\noutbound HTTP requests, loads no remote scripts or styles, and stores no\nquiz-result records in the database.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install through the\nWordPress <em>Plugins<\/em> screen.<\/li>\n<li>Activate <strong>Neutrope Quiz Engine<\/strong> through the <em>Plugins<\/em> menu in WordPress.<\/li>\n<li>Under the <em>\u554f\u984c<\/em> menu, add some questions. Under the <em>\u30c6\u30b9\u30c8\u30bb\u30c3\u30c8<\/em> menu,\ncreate a test set and link it to the relevant <em>\u8cc7\u683c\u7a2e\u5225<\/em> taxonomy term.<\/li>\n<li>Embed the test set anywhere with <code>[ntqengine_quiz set=\"&lt;ID&gt;\"]<\/code>.<\/li>\n<\/ol>\n\n<p>CSV import is available under <em>\u554f\u984c \u2192 CSV\u30a4\u30f3\u30dd\u30fc\u30c8<\/em> (dry-run + upsert).<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20store%20quiz%20results%20in%20the%20database%3F\"><h3>Does the plugin store quiz results in the database?<\/h3><\/dt>\n<dd><p>No. Scoring is computed entirely on the client and is not persisted. Pages\ncan be safely cached because no per-user state is written on the server.<\/p><\/dd>\n<dt id=\"what%20is%20removed%20on%20uninstall%3F\"><h3>What is removed on uninstall?<\/h3><\/dt>\n<dd><p>Only the CSV-import temporary transients and the\n    wp-content\/uploads\/ntqengine-imports\/ working directory. Questions, test\nsets, taxonomy terms and post meta are deliberately preserved so production\ndata is never lost on uninstall.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20translation-ready%3F\"><h3>Is the plugin translation-ready?<\/h3><\/dt>\n<dd><p>Yes. All user-facing strings (PHP and JS) are routed through the\n    neutrope-quiz-engine text domain. A <code>languages\/neutrope-quiz-engine.pot<\/code> template is\nincluded. JS strings are delivered via <code>wp_localize_script<\/code>, with Japanese\nfallbacks compiled into the script so display never breaks when translations\nare missing.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20cache%20plugins%3F\"><h3>Does it work with cache plugins?<\/h3><\/dt>\n<dd><p>Yes. Output is purely HTML plus a JSON-in-<code>&lt;script&gt;<\/code> payload; nothing depends\non per-request server state. Page caches (WP Super Cache, W3 Total Cache,\nLiteSpeed, etc.) are safe.<\/p><\/dd>\n<dt id=\"which%20shortcode%20should%20i%20use%3F\"><h3>Which shortcode should I use?<\/h3><\/dt>\n<dd><p>Use <code>[ntqengine_quiz set=\"&lt;ID&gt;\"]<\/code>. It is the only shortcode the plugin\nregisters. You can place several instances on the same page; each one renders\nand scores independently.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.4.5<\/h4>\n\n<ul>\n<li>Prefix compliance update for WordPress.org: renamed the shortcode, custom\npost types, taxonomies, script\/style handle, JavaScript object, plugin\nconstants and the CSV-import transient\/admin identifiers to the unique\n  ntqengine prefix.<\/li>\n<li>The shortcode is now <code>[ntqengine_quiz set=\"&lt;ID&gt;\"]<\/code>. The previous\n  [nqe_quiz], <code>[ql_quiz]<\/code> and <code>[wpqe_quiz]<\/code> aliases have been removed.<\/li>\n<li>Existing content created with earlier versions needs to be migrated to the\nnew post types and taxonomies before upgrading.<\/li>\n<\/ul>\n\n<h4>0.4.4<\/h4>\n\n<ul>\n<li>Add browser-local anonymous quiz summary support for future Study Desk integrations when Pro integration data is available.<\/li>\n<li>Keep quiz summary storage client-side and scoped to the visitor's browser.<\/li>\n<\/ul>\n\n<h4>0.4.3<\/h4>\n\n<ul>\n<li>Pass completed quiz result payloads to the Pro integration bridge when available.<\/li>\n<li>Preserve existing quiz scoring, retry, and scroll behavior.<\/li>\n<\/ul>\n\n<h4>0.4.2<\/h4>\n\n<ul>\n<li>Fix scroll position after viewing quiz results and retrying a quiz.<\/li>\n<li>Preserve the quiz completed JavaScript event hook for Pro integrations.<\/li>\n<\/ul>\n\n<h4>0.4.1<\/h4>\n\n<ul>\n<li>Added a <code>nqe:quiz:completed<\/code> JavaScript event, dispatched on the quiz root\nelement (<code>.skl-quiz<\/code>, with <code>bubbles: true<\/code>) when scoring completes. This is a\npurely additive extension point for add-ons such as Neutrope Quiz Engine Pro;\nit does not change existing shortcodes, markup, CSS, scoring logic, the result\ndisplay, or any backward-compatibility identifiers. Scoring still happens\nentirely on the client and no data is written to the database by the free\nplugin.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Question and test-set custom post types with practice and mock modes,\nstep \/ list display, question and choice shuffling, configurable choice\nlabels, pass thresholds, countdown timer, question banks, per-field\naccuracy breakdown, and a configurable per-set CTA on the result screen.<\/li>\n<li>CSV importer with dry-run, upsert, automatic term creation and\nCSRF-hardened upload handling.<\/li>\n<li>Shortcode for embedding a test set on any page or post.<\/li>\n<li>Frontend strings routed through <code>wp_localize_script<\/code> with Japanese\nfallbacks (translation-ready via the <code>neutrope-quiz-engine<\/code> text domain).<\/li>\n<li>No outbound HTTP, no external assets, no per-user database writes.<\/li>\n<\/ul>","raw_excerpt":"Create certification quizzes and practice tests in WordPress with question banks, shortcodes, instant scoring, and explanations.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/353409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=353409"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/neutropeinc"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=353409"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=353409"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=353409"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=353409"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=353409"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=353409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}