{"id":351442,"date":"2026-08-14T10:17:48","date_gmt":"2026-08-14T10:17:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/modern-instructor-cockpit-for-learndash\/"},"modified":"2026-08-15T00:06:48","modified_gmt":"2026-08-15T00:06:48","slug":"sev-instructor-cockpit-for-learndash","status":"publish","type":"plugin","link":"https:\/\/ml.wordpress.org\/plugins\/sev-instructor-cockpit-for-learndash\/","author":15085268,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.13.0","stable_tag":"1.13.0","tested":"7.1","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"SEV Instructor Cockpit for LearnDash","header_author":"sevmatic","header_description":"Adds a React-based instructor dashboard to LearnDash, with REST endpoints for user lookup and label management. Essay\/assignment grading endpoints live in the Pro add-on.","assets_banners_color":"","last_updated":"2026-08-15 00:06:48","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":72,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.11.0":{"tag":"1.11.0","author":"hfranz","date":"2026-08-14 10:17:33"},"1.12.0":{"tag":"1.12.0","author":"hfranz","date":"2026-08-14 11:17:56"},"1.12.1":{"tag":"1.12.1","author":"hfranz","date":"2026-08-14 12:29:14"},"1.12.2":{"tag":"1.12.2","author":"hfranz","date":"2026-08-14 13:44:09"},"1.12.3":{"tag":"1.12.3","author":"hfranz","date":"2026-08-14 13:55:13"},"1.13.0":{"tag":"1.13.0","author":"hfranz","date":"2026-08-15 00:06:48"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3647095,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.11.0","1.12.0","1.12.1","1.12.2","1.12.3","1.13.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[434,18342,62817,10796,2195],"plugin_category":[],"plugin_contributors":[202978],"plugin_business_model":[],"class_list":["post-351442","plugin","type-plugin","status-publish","hentry","plugin_tags-dashboard","plugin_tags-elearning","plugin_tags-instructor","plugin_tags-learndash","plugin_tags-lms","plugin_contributors-hfranz","plugin_committers-hfranz"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/sev-instructor-cockpit-for-learndash\/assets\/icon.svg?rev=3647095","icon":"https:\/\/ps.w.org\/sev-instructor-cockpit-for-learndash\/assets\/icon.svg?rev=3647095","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>SEV Instructor Cockpit for LearnDash is a companion plugin for <a href=\"https:\/\/www.learndash.com\/\">LearnDash LMS<\/a> and the \"Instructor Role\" plugin (<code>wdm_instructor<\/code>). It adds a small REST API and powers a separate, React-based Instructor Cockpit where instructors can see their courses, manage enrolled participants, and look up users to add to a course.<\/p>\n\n<p>This is an independent, unofficial add-on and is not affiliated with, endorsed by, or sponsored by LearnDash or WisdmLabs (the \"Instructor Role\" plugin's maker). \"LearnDash\" is a trademark of its respective owner and is used here only to describe compatibility.<\/p>\n\n<p><strong>What's included (free)<\/strong><\/p>\n\n<ul>\n<li>A React-based Instructor Cockpit: course list, course detail (structure, participants), participant search\/add.<\/li>\n<li>Self-service two-factor authentication (authenticator app + backup codes) from an \"Edit Profile\" page, if the separate \"Two-Factor\" plugin is installed.<\/li>\n<li>REST endpoints backing the dashboard: user lookup (by name\/email, not just users already enrolled), LearnDash's custom post-type labels (so the dashboard matches whatever terminology your site uses for \"Course\"\/\"Lesson\"\/etc.), and essay grading.<\/li>\n<li>Works alongside the \"Instructor Role\" plugin without modifying it.<\/li>\n<\/ul>\n\n<p><strong>SEV Instructor Cockpit for LearnDash \u2013 Pro<\/strong><\/p>\n\n<p>A separate, paid add-on plugin adds:<\/p>\n\n<ul>\n<li>Essay and assignment grading directly in the dashboard (question\/lesson list, submissions, grading).<\/li>\n<li>Edit, delete, and add users directly from the dashboard, including their course and group enrollment.<\/li>\n<li>A Groups tab: view groups and manage their courses, participants, and group leaders.<\/li>\n<li>Dashboard widgets for open assignments and recent essays awaiting grading.<\/li>\n<li>A Settings &gt; Design &amp; Branding page: customize the site title, favicon, logo, cockpit header logo, and LearnDash's accent colors directly from the Cockpit.<\/li>\n<\/ul>\n\n<p>The free plugin works fully on its own; the Pro plugin is detected automatically if installed.<\/p>\n\n<h3>Source Code<\/h3>\n\n<p>The dashboard shown by this plugin is a React application; the JavaScript and CSS files in this plugin's <code>dist\/<\/code> folder are its compiled, minified build output. The uncompiled source and build tooling are published at:<\/p>\n\n<p>https:\/\/download.sevmatic.com\/instructor-cockpit-src\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>sev-instructor-cockpit-for-learndash<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Make sure LearnDash LMS and the \"Instructor Role\" plugin are installed and active.<\/li>\n<li>Instructors can now access their dashboard (see plugin documentation for the dashboard URL\/setup for your site).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20learndash%3F\"><h3>Does this plugin require LearnDash?<\/h3><\/dt>\n<dd><p>Yes, and the \"Instructor Role\" plugin (<code>wdm_instructor<\/code>) for its instructor\/course-ownership logic.<\/p><\/dd>\n<dt id=\"what%20does%20the%20pro%20add-on%20do%20that%20this%20plugin%20doesn%27t%3F\"><h3>What does the Pro add-on do that this plugin doesn't?<\/h3><\/dt>\n<dd><p>Essay and assignment grading, editing\/adding\/deleting users (including their course and group enrollment), a Groups tab for managing group courses\/participants\/leaders, dashboard widgets for open assignments and recent essays, and a Settings &gt; Design &amp; Branding page. Course browsing, participant management, and user lookup are part of the free plugin.<\/p><\/dd>\n<dt id=\"does%20this%20modify%20the%20instructor%20role%20plugin%3F\"><h3>Does this modify the Instructor Role plugin?<\/h3><\/dt>\n<dd><p>No. It hooks into WordPress\/LearnDash independently and leaves the Instructor Role plugin untouched.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.13.0<\/h4>\n\n<ul>\n<li>Fixed the structure editor's \"available lessons\/topics\" panel, which could show lessons or topics from courses unrelated to the instructor once one of their other courses had none of its own - caused by a scoping bug in the Instructor Role plugin's own lesson\/topic lookup, worked around with our own endpoints.<\/li>\n<\/ul>\n\n<h4>1.12.3<\/h4>\n\n<ul>\n<li>Updated the Pro add-on description: it now also covers assignment grading, user management, group management, and the dashboard's open-assignments\/recent-essays widgets, which had been missing from this list.<\/li>\n<\/ul>\n\n<h4>1.12.2<\/h4>\n\n<ul>\n<li>Corrected the 1.10.0 changelog entry below, which implied the Dashboard's \"recently edited\" list included groups - it only lists courses.<\/li>\n<\/ul>\n\n<h4>1.12.1<\/h4>\n\n<ul>\n<li>Corrected the 1.12.0 changelog entry below, which incorrectly described group participant management - a Pro-only feature - as part of this release.<\/li>\n<\/ul>\n\n<h4>1.12.0<\/h4>\n\n<ul>\n<li>Instructors can now remove a participant from a course directly on its detail page.<\/li>\n<li>Course participant lists split into two, evenly balanced columns once there are more than 5 entries.<\/li>\n<li>Participant rows highlight on hover, and edit-title buttons across the course list, Bausteine list, and structure editor now only show on row hover.<\/li>\n<li>The course participant picker now preloads candidates and filters them instantly while typing, with its pager moved above the list.<\/li>\n<li>The course participant picker's checkboxes are now sized to meet WCAG's minimum touch-target size.<\/li>\n<\/ul>\n\n<h4>1.11.0<\/h4>\n\n<ul>\n<li>Instructors can now set a course's featured image directly from its detail page; the course list's thumbnail links there too.<\/li>\n<li>Course titles, and the Bausteine list's lesson\/topic\/quiz titles, can now be renamed inline without leaving the list.<\/li>\n<li>The courses and users tables now show a total count below the list.<\/li>\n<li>The Dashboard's recently edited courses are now linked to their detail page, and the course-progress table is paged.<\/li>\n<li>Dashboard translations now load through WordPress's standard translation system, so community-contributed translations from translate.wordpress.org take effect.<\/li>\n<li>Fixed a permission check so instructors can only look up users they're already allowed to see.<\/li>\n<li>Fixed the structure editor's two-panel layout collapsing to a single column once the Pro add-on loads.<\/li>\n<\/ul>\n\n<h4>1.10.0<\/h4>\n\n<ul>\n<li>A course's \"last modified\" date now updates when its structure changes, a lesson\/topic\/quiz title changes, or a participant is enrolled - so the Dashboard's \"recently edited\" list reflects those changes too.<\/li>\n<li>The Dashboard's course-progress table is now paged to 10 rows at a time.<\/li>\n<li>Participants who are no longer a member of the site are excluded from Dashboard counts.<\/li>\n<\/ul>\n\n<h4>1.9.0<\/h4>\n\n<ul>\n<li>Added a Dashboard: course overview, participant activity (including a 7-day active-learners trend), and a simplified per-course learning-progress table. With the Pro add-on: open-assignments and recent-essays widgets on the same page.<\/li>\n<li>Published the source code and build tools behind this plugin's dashboard JavaScript (see \"Source Code\" above).<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>Added self-service two-factor authentication: set up an authenticator app and generate backup codes from a new \"Edit Profile\" page (Avatar menu &gt; Edit Profile). Requires the separate \"Two-Factor\" plugin.<\/li>\n<li>With the Pro add-on: added a Settings &gt; Design &amp; Branding page \u2014 customize the site title, favicon (with a built-in crop tool), logo, cockpit header logo, and LearnDash's accent colors, all from within the Cockpit.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Renamed the dashboard's own URL from \/instructor-dashboard\/ to \/instructor-cockpit\/, matching its \"Instructor Cockpit\" branding.<\/li>\n<li>Improved the mobile menu: it now overlays the page instead of pushing content down, and closes on an outside click or Escape.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Translations can now be contributed by the community via translate.wordpress.org.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Renamed to \"Instructor Cockpit\".<\/li>\n<li>The dashboard title (shown in the header and browser tab) and the \"Edit in WP Admin\" link text can now be customized under Settings &gt; Instructor Cockpit.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added a \"Building Blocks\" tab listing every lesson, topic, and quiz across all of an instructor's courses.<\/li>\n<li>Refreshed the icons throughout the navigation and course structure editor.<\/li>\n<li>Made the Users table usable on mobile screens.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added a visual, drag-and-drop course structure editor: reorder, add, and remove lessons, topics, and quizzes; group final quizzes together; add section headings; undo changes before saving.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added a Users tab with search, sorting, and a detail page for each user.<\/li>\n<li>With the Pro add-on active: edit, delete, and add users directly from the dashboard, and manage their group membership.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Made the course list searchable, sortable, and usable on mobile screens.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Gives LearnDash instructors a dedicated dashboard: their courses, participants, and (with the Pro add-on) grading, user, and group management.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/351442","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=351442"}],"author":[{"embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hfranz"}],"wp:attachment":[{"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=351442"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=351442"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=351442"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=351442"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=351442"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ml.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=351442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}