{"id":363211,"date":"2026-09-06T21:15:18","date_gmt":"2026-09-06T21:15:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/progress-reset-restore-for-learndash\/"},"modified":"2026-09-08T23:03:24","modified_gmt":"2026-09-08T23:03:24","slug":"lmscrafter-progress-reset-restore-for-learndash","status":"publish","type":"plugin","link":"https:\/\/eu.wordpress.org\/plugins\/lmscrafter-progress-reset-restore-for-learndash\/","author":20922285,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.7","requires_php":"7.4","requires_plugins":null,"header_name":"LmsCrafter Progress Reset & Restore for LearnDash","header_author":"LmsCrafter","header_description":"Safely preview, schedule, reset, archive, report, and restore LearnDash learner progress.","assets_banners_color":"edf2fa","last_updated":"2026-09-08 23:03:24","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/lmscrafter.com\/","header_author_uri":"https:\/\/profiles.wordpress.org\/lmscrafter\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":79,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"lmscrafter","date":"2026-09-08 23:03:24","revision":3687372}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3687372,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3687372,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3687372,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3687372,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3687372,"resolution":"1","location":"assets","locale":"","width":1470,"height":1240},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3687372,"resolution":"2","location":"assets","locale":"","width":1470,"height":1174},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3687372,"resolution":"3","location":"assets","locale":"","width":1470,"height":1080},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3687372,"resolution":"4","location":"assets","locale":"","width":1470,"height":1019},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3687372,"resolution":"5","location":"assets","locale":"","width":1470,"height":974},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3687372,"resolution":"6","location":"assets","locale":"","width":1470,"height":1094}},"screenshots":{"1":"Choose learners and narrow the course scope. Reset selection and Bulk CSV controls are shown with illustrative demo learners and courses; this view focuses on the first part of the Reset screen.","2":"Select course progress, quiz attempts, assignments, and optional direct unenrollment. The timing controls show an example monthly reset; interface excerpts are arranged for readability.","3":"Safety Vault archives show impact counts, expiry dates, CSV export, and Restore actions for eligible active snapshots. The active and restored records shown are illustrative demo data.","4":"Manage automatic resets with next-run dates, recurrence, status, and pause or resume actions. These illustrative schedules have not run; execution uses WordPress Cron.","5":"Review learner reset requests before approving or rejecting them. Example learners, course titles, and request notes are illustrative demo data.","6":"Configure retention, backend and frontend roles, learner controls, email notifications, and shortcodes. Actual Settings controls are arranged together with an example academy configuration."}},"plugin_section":[],"plugin_tags":[279466,10796,279467,2195,279465],"plugin_category":[],"plugin_contributors":[255761,255760],"plugin_business_model":[],"class_list":["post-363211","plugin","type-plugin","status-publish","hentry","plugin_tags-course-reset","plugin_tags-learndash","plugin_tags-learning-records","plugin_tags-lms","plugin_tags-progress-reset","plugin_contributors-lmscrafter","plugin_contributors-mmubashirtaqi","plugin_committers-lmscrafter"],"banners":{"banner":"https:\/\/ps.w.org\/lmscrafter-progress-reset-restore-for-learndash\/assets\/banner-772x250.png?rev=3687372","banner_2x":"https:\/\/ps.w.org\/lmscrafter-progress-reset-restore-for-learndash\/assets\/banner-1544x500.png?rev=3687372","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/lmscrafter-progress-reset-restore-for-learndash\/assets\/icon-128x128.png?rev=3687372","icon_2x":"https:\/\/ps.w.org\/lmscrafter-progress-reset-restore-for-learndash\/assets\/icon-256x256.png?rev=3687372","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/lmscrafter-progress-reset-restore-for-learndash\/assets\/screenshot-1.png?rev=3687372","caption":"Choose learners and narrow the course scope. Reset selection and Bulk CSV controls are shown with illustrative demo learners and courses; this view focuses on the first part of the Reset screen."},{"src":"https:\/\/ps.w.org\/lmscrafter-progress-reset-restore-for-learndash\/assets\/screenshot-2.png?rev=3687372","caption":"Select course progress, quiz attempts, assignments, and optional direct unenrollment. The timing controls show an example monthly reset; interface excerpts are arranged for readability."},{"src":"https:\/\/ps.w.org\/lmscrafter-progress-reset-restore-for-learndash\/assets\/screenshot-3.png?rev=3687372","caption":"Safety Vault archives show impact counts, expiry dates, CSV export, and Restore actions for eligible active snapshots. The active and restored records shown are illustrative demo data."},{"src":"https:\/\/ps.w.org\/lmscrafter-progress-reset-restore-for-learndash\/assets\/screenshot-4.png?rev=3687372","caption":"Manage automatic resets with next-run dates, recurrence, status, and pause or resume actions. These illustrative schedules have not run; execution uses WordPress Cron."},{"src":"https:\/\/ps.w.org\/lmscrafter-progress-reset-restore-for-learndash\/assets\/screenshot-5.png?rev=3687372","caption":"Review learner reset requests before approving or rejecting them. Example learners, course titles, and request notes are illustrative demo data."},{"src":"https:\/\/ps.w.org\/lmscrafter-progress-reset-restore-for-learndash\/assets\/screenshot-6.png?rev=3687372","caption":"Configure retention, backend and frontend roles, learner controls, email notifications, and shortcodes. Actual Settings controls are arranged together with an example academy configuration."}],"raw_content":"<!--section=description-->\n<p>LmsCrafter Progress Reset &amp; Restore for LearnDash helps administrators and authorized group leaders give learners a clean restart without working through user profiles one at a time.<\/p>\n\n<p>This is an independent plugin by LmsCrafter, not affiliated with or endorsed by LearnDash. LearnDash LMS is required and is not included.<\/p>\n\n<p>The plugin supports:<\/p>\n\n<ul>\n<li>A single learner or many learners.<\/li>\n<li>A single course or many courses.<\/li>\n<li>Exact learner and course combinations.<\/li>\n<li>LearnDash group and WordPress role selections.<\/li>\n<li>One-time, daily, weekly, monthly, and yearly schedules.<\/li>\n<li>Optional direct-course unenrollment.<\/li>\n<li>Downloadable pre-reset impact reports.<\/li>\n<li>CSV reference export and controlled CSV reset import.<\/li>\n<li>Separate course-progress, quiz-attempt, and assignment controls.<\/li>\n<li>Frontend self-reset, group-leader management, or approval requests.<\/li>\n<li>Learner archive history with course progress, quiz attempts, and certificate links.<\/li>\n<li>Administrator archive reports and filtering-ready CSV files.<\/li>\n<li>Reset and request email notifications.<\/li>\n<\/ul>\n\n<h4>Safety Vault<\/h4>\n\n<p>Every real reset first creates an integrity-checked snapshot. Authorized administrators can restore the affected course progress, quiz attempts and statistics, graded essays, LearnDash activity records, direct course access, and course assignments during the configured retention period. Selected assignments and essays are held in a private Safety Vault status so their files and feedback remain available for restoration. Retention is adjustable from 1 to 90 days and defaults to 30 days.<\/p>\n\n<p>The Safety Vault is a database snapshot, not an encrypted backup. Protect WordPress database backups and limit administrator access appropriately.<\/p>\n\n<h4>Lightweight by design<\/h4>\n\n<p>The backend uses WordPress-native markup, a small vanilla JavaScript file, and a small CSS file. It adds no frontend framework, page builder dependency, remote admin asset, tracking script, or background queue.<\/p>\n\n<h3>Shortcodes<\/h3>\n\n<pre><code>[lmsc_progress_reset] displays the current learner's direct reset or request form, according to plugin settings.\n\n[lmsc_progress_reset mode=\"manage\" button_text=\"Reset progress\"] displays the permitted management form for an administrator or group leader.\n\n[lmsc_progress_archive] displays the current learner's archive history.\n<\/code><\/pre>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate LearnDash LMS.<\/li>\n<li>Upload and activate LmsCrafter Progress Reset &amp; Restore for LearnDash.<\/li>\n<li>Open LearnDash &gt; Progress Reset.<\/li>\n<li>Review Settings before allowing frontend or non-administrator access.<\/li>\n<li>Download an impact preview before the first production reset.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20delete%20courses%2C%20lessons%2C%20topics%2C%20or%20learners%3F\"><h3>Does it delete courses, lessons, topics, or learners?<\/h3><\/dt>\n<dd><p>No. It resets selected learner records. Selected assignment and essay posts are held in a private Safety Vault status until restoration or expiry; they are not sent through WordPress Trash cleanup.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20learners%20whose%20progress%20is%20already%20zero%3F\"><h3>What happens to learners whose progress is already zero?<\/h3><\/dt>\n<dd><p>They are excluded from the affected-record count unless matching quiz attempts or assignments exist, or direct-course unenrollment is selected and applicable.<\/p><\/dd>\n<dt id=\"can%20group%20leaders%20reset%20every%20learner%20on%20the%20site%3F\"><h3>Can group leaders reset every learner on the site?<\/h3><\/dt>\n<dd><p>No. Group leaders are restricted to learner-course combinations that intersect with groups they lead. Administrators retain full access.<\/p><\/dd>\n<dt id=\"does%20unenrollment%20remove%20group%20access%3F\"><h3>Does unenrollment remove group access?<\/h3><\/dt>\n<dd><p>No. The unenroll option removes direct course access. LearnDash group membership continues to control group-based access.<\/p><\/dd>\n<dt id=\"are%20scheduled%20resets%20guaranteed%20to%20run%20at%20the%20exact%20second%3F\"><h3>Are scheduled resets guaranteed to run at the exact second?<\/h3><\/dt>\n<dd><p>Schedules use WordPress Cron. On a low-traffic site, configure a real server cron to call WordPress Cron regularly.<\/p><\/dd>\n<dt id=\"is%20safety%20vault%20data%20encrypted%3F\"><h3>Is Safety Vault data encrypted?<\/h3><\/dt>\n<dd><p>No. Snapshots are compressed and integrity-checked, but not encrypted. They follow the configured retention period and integrate with WordPress personal-data export and erasure tools.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Added single, multiple, course, group, role, and exact-pair reset scopes.<\/li>\n<li>Added course progress, quiz attempt\/statistics, and assignment controls.<\/li>\n<li>Added automatic schedules, direct-course unenrollment, impact CSVs, and bulk CSV reset.<\/li>\n<li>Added role-aware backend and frontend workflows, learner requests, and email notifications.<\/li>\n<li>Added administrator and learner archives with configurable Safety Vault restore retention.<\/li>\n<\/ul>","raw_excerpt":"Preview, schedule, reset, archive, report, and restore LearnDash learner progress from one lightweight workspace.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/363211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=363211"}],"author":[{"embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/lmscrafter"}],"wp:attachment":[{"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=363211"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=363211"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=363211"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=363211"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=363211"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=363211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}