{"id":346202,"date":"2026-07-29T13:10:48","date_gmt":"2026-07-29T13:10:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/learndash-to-lifter\/"},"modified":"2026-07-29T13:10:33","modified_gmt":"2026-07-29T13:10:33","slug":"evolve-learndash-to-lifter","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/evolve-learndash-to-lifter\/","author":20139921,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.3.7","stable_tag":"2.3.7","tested":"7.0.2","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Evolve's LearnDash to Lifter","header_author":"Evolve","header_description":"Migrate LearnDash courses, lessons, topics, quizzes, questions, answers, and mapped settings to LifterLMS using batch processing.","assets_banners_color":"","last_updated":"2026-07-29 13:10:33","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/elearningevolve.com","header_plugin_uri":"","header_author_uri":"https:\/\/elearningevolve.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":20,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.3.7":{"tag":"2.3.7","author":"elearningevolve","date":"2026-07-29 13:10:33"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.3.7"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Migration admin page with course selection, progress bar, and activity log."}},"plugin_section":[],"plugin_tags":[7114,18342,10796,129439,4155],"plugin_category":[59],"plugin_contributors":[206414],"plugin_business_model":[],"class_list":["post-346202","plugin","type-plugin","status-publish","hentry","plugin_tags-courses","plugin_tags-elearning","plugin_tags-learndash","plugin_tags-lifterlms","plugin_tags-migration","plugin_category-utilities-and-tools","plugin_contributors-elearningevolve","plugin_committers-elearningevolve"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/evolve-learndash-to-lifter.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Evolve's LearnDash to Lifter helps you move LearnDash course content into LifterLMS using batch processing to reduce PHP timeouts on larger sites.<\/p>\n\n<p><strong>What gets migrated:<\/strong><\/p>\n\n<ul>\n<li>Courses (title, content, excerpt, featured image, and available mapped meta)<\/li>\n<li>Lessons (linked to the migrated courses)<\/li>\n<li>Topics (migrated as related LifterLMS lesson content where supported)<\/li>\n<li>Quizzes (linked to the migrated courses)<\/li>\n<li>Quiz questions and answers (when LearnDash quiz tables are available)<\/li>\n<li>Mapped course and lesson settings that have LifterLMS equivalents<\/li>\n<\/ul>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li>Batch processing (20 courses per batch) to help avoid PHP timeouts<\/li>\n<li>Real-time progress bar and activity log<\/li>\n<li>Nonce-secured AJAX requests with capability checks<\/li>\n<li>Input sanitization and output escaping<\/li>\n<li>Reset and retry support<\/li>\n<li>Translation ready (text domain: evolve-learndash-to-lifter)<\/li>\n<\/ul>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>LearnDash LMS must be installed and active<\/li>\n<li>LifterLMS must be installed and active<\/li>\n<\/ul>\n\n<p>Always run on a staging site first and take a full backup before migrating a live site.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>Evolve's LearnDash to Lifter<\/strong> in the admin sidebar<\/li>\n<li>Select the courses to migrate and click <strong>Start Migration<\/strong><\/li>\n<li>Wait for the progress bar to reach 100%<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20overwrite%20existing%20lifterlms%20content%3F\"><h3>Will this overwrite existing LifterLMS content?<\/h3><\/dt>\n<dd><p>No. The migrator creates new LifterLMS posts and does not delete existing LifterLMS content.<\/p><\/dd>\n<dt id=\"what%20if%20migration%20stops%20halfway%3F\"><h3>What if migration stops halfway?<\/h3><\/dt>\n<dd><p>Click <strong>Reset<\/strong> and then <strong>Start Migration<\/strong> again. Batch processing helps reduce timeouts on large sites.<\/p><\/dd>\n<dt id=\"is%20it%20safe%20to%20run%20on%20a%20live%20site%3F\"><h3>Is it safe to run on a live site?<\/h3><\/dt>\n<dd><p>We recommend running on a staging site first and taking a full backup before migrating.<\/p><\/dd>\n<dt id=\"how%20many%20courses%20can%20it%20handle%3F\"><h3>How many courses can it handle?<\/h3><\/dt>\n<dd><p>The plugin uses batch processing so there is no fixed course limit. Large course libraries have been tested successfully.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.3.7<\/h4>\n\n<ul>\n<li>Standards: Slug set to evolve-learndash-to-lifter<\/li>\n<\/ul>\n\n<h4>2.3.6<\/h4>\n\n<ul>\n<li>Standards: Removed load_plugin_textdomain() (handled by WordPress.org since 4.6)<\/li>\n<li>Standards: Plugin URI removed; Author URI retained<\/li>\n<\/ul>\n\n<h4>2.3.5<\/h4>\n\n<ul>\n<li>Standards: Renamed plugin to Evolve's LearnDash to Lifter<\/li>\n<li>Standards: Slug, main file, and text domain alignment<\/li>\n<\/ul>\n\n<h4>2.3.4<\/h4>\n\n<ul>\n<li>Standards: Plugin name, main file, slug, and text domain alignment<\/li>\n<\/ul>\n\n<h4>2.3.3<\/h4>\n\n<ul>\n<li>Standards: Renamed plugin display name and admin menu slug<\/li>\n<\/ul>\n\n<h4>2.3.2<\/h4>\n\n<ul>\n<li>Security: Escape admin JS log output and AJAX error details<\/li>\n<li>Standards: Trademark-safe plugin display name<\/li>\n<li>Standards: Enqueue dedicated admin CSS instead of inline wp-admin styles<\/li>\n<li>Standards: Full GPLv2 LICENSE file<\/li>\n<li>Standards: Readme changelog structure and Tested up to update<\/li>\n<li>Improved: Safer quiz table existence checks before direct DB reads<\/li>\n<li>Improved: Complete JS i18n strings for admin UI text<\/li>\n<\/ul>\n\n<h4>2.3.1<\/h4>\n\n<ul>\n<li>Fixed: Course titles not showing in selection list<\/li>\n<li>Fixed: Migration error \u2014 improved AJAX error reporting with exact server response<\/li>\n<li>Fixed: Added dependency check for LearnDash and LifterLMS before migration starts<\/li>\n<li>Improved: JS now shows exact HTTP error and server response for easier debugging<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>Added: Full quiz settings migration (passing score, time limit, attempts, randomization)<\/li>\n<li>Added: Question answers migration with correct\/incorrect mapping<\/li>\n<li>Added: All question types supported (MCQ, True\/False, Essay, Fill-in-blank, Sort, Match)<\/li>\n<li>Added: Question hints and feedback messages migration<\/li>\n<li>Added: Course settings migration (access, pricing, expiry, prerequisites, capacity)<\/li>\n<li>Added: Lesson settings migration (video, drip content, force completion)<\/li>\n<li>Added: Certificate association migration<\/li>\n<li>Added: class-quiz-migrator.php for modular quiz handling<\/li>\n<li>Added: class-settings-migrator.php for modular settings handling<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Added: Course selection UI \u2014 choose which courses to migrate<\/li>\n<li>Added: Select All \/ Deselect All buttons<\/li>\n<li>Added: Selected courses counter<\/li>\n<li>Fixed: Plugin URI updated to elearningevolve.com<\/li>\n<li>Fixed: Author updated to eLearning Evolve<\/li>\n<li>Fixed: Version synced across all files<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Fixed: Removed @ error suppression \u2014 not allowed by WP.org<\/li>\n<li>Fixed: All AJAX actions now use unique ldlifter_ prefix<\/li>\n<li>Fixed: Added absint(), sanitize_text_field(), wp_kses_post() throughout<\/li>\n<li>Fixed: Added sanitize_key() on all meta keys<\/li>\n<li>Fixed: JS localized object renamed to ldlifterData (unique prefix)<\/li>\n<li>Added: languages\/ folder for translation readiness<\/li>\n<li>Added: LICENSE file (GPL v2)<\/li>\n<li>Updated: readme.txt with full WP.org format<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Complete rewrite with batch processing<\/li>\n<li>Added progress bar, migration log, reset functionality<\/li>\n<li>Added nonce security and capability checks<\/li>\n<li>Added full support for topics, quizzes, quiz questions<\/li>\n<li>Fixed lesson duplication bug<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Migrate LearnDash courses, lessons, topics, quizzes, and mapped settings to LifterLMS using batch processing.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/346202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=346202"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/elearningevolve"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=346202"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=346202"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=346202"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=346202"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=346202"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=346202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}