Title: LD to Lifter
Author: EVOLVE
Published: <strong>July 29, 2026</strong>
Last modified: July 30, 2026

---

Search plugins

![](https://ps.w.org/evolve-learndash-to-lifter/assets/banner-772x250.png?rev=3628320)

![](https://ps.w.org/evolve-learndash-to-lifter/assets/icon-128x128.png?rev=3628697)

# LD to Lifter

 By [EVOLVE](https://profiles.wordpress.org/elearningevolve/)

[Download](https://downloads.wordpress.org/plugin/evolve-learndash-to-lifter.2.3.7.zip)

 * [Details](https://wordpress.org/plugins/evolve-learndash-to-lifter/#description)
 * [Reviews](https://wordpress.org/plugins/evolve-learndash-to-lifter/#reviews)
 *  [Installation](https://wordpress.org/plugins/evolve-learndash-to-lifter/#installation)
 * [Development](https://wordpress.org/plugins/evolve-learndash-to-lifter/#developers)

 [Support](https://wordpress.org/support/plugin/evolve-learndash-to-lifter/)

## Description

LD to Lifter helps you move LearnDash course content into LifterLMS using batch 
processing to reduce PHP timeouts on larger sites.

**What gets migrated:**

 * Courses (title, content, excerpt, featured image, and available mapped meta)
 * Lessons (linked to the migrated courses)
 * Topics (migrated as related LifterLMS lesson content where supported)
 * Quizzes (linked to the migrated courses)
 * Quiz questions and answers (when LearnDash quiz tables are available)
 * Mapped course and lesson settings that have LifterLMS equivalents

**Key Features:**

 * Batch processing (20 courses per batch) to help avoid PHP timeouts
 * Real-time progress bar and activity log
 * Nonce-secured AJAX requests with capability checks
 * Input sanitization and output escaping
 * Reset and retry support
 * Translation ready (text domain: evolve-learndash-to-lifter)

**Requirements:**

 * LearnDash LMS must be installed and active
 * LifterLMS must be installed and active

**Caution:**

Never run a migration directly on a live website. Always test the migration on a
development or staging site first and take a complete backup before proceeding. 
Only migrate your live site once you have confirmed that the migration works correctly
and reliably in your test environment.

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/`
 2. Activate the plugin through the **Plugins** menu in WordPress
 3. Go to **LD to Lifter** in the admin sidebar
 4. Select the courses to migrate and click **Start Migration**
 5. Wait for the progress bar to reach 100%

## FAQ

### Will this overwrite existing LifterLMS content?

No. The migrator creates new LifterLMS posts and does not delete existing LifterLMS
content.

### What if migration stops halfway?

Click **Reset** and then **Start Migration** again. Batch processing helps reduce
timeouts on large sites.

### Is it safe to run on a live site?

We recommend running on a staging site first and taking a full backup before migrating.

### How many courses can it handle?

The plugin uses batch processing so there is no fixed course limit. Large course
libraries have been tested successfully.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“LD to Lifter” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ EVOLVE ](https://profiles.wordpress.org/elearningevolve/)
 *   [ evolve ](https://profiles.wordpress.org/evolve/)

[Translate “LD to Lifter” into your language.](https://translate.wordpress.org/projects/wp-plugins/evolve-learndash-to-lifter)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/evolve-learndash-to-lifter/),
check out the [SVN repository](https://plugins.svn.wordpress.org/evolve-learndash-to-lifter/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/evolve-learndash-to-lifter/)
by [RSS](https://plugins.trac.wordpress.org/log/evolve-learndash-to-lifter/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.3.7

 * Standards: Slug set to evolve-learndash-to-lifter

#### 2.3.6

 * Standards: Removed load_plugin_textdomain() (handled by WordPress.org since 4.6)
 * Standards: Plugin URI removed; Author URI retained

#### 2.3.5

 * Standards: Renamed plugin to Evolve’s LearnDash to Lifter
 * Standards: Slug, main file, and text domain alignment

#### 2.3.4

 * Standards: Plugin name, main file, slug, and text domain alignment

#### 2.3.3

 * Standards: Renamed plugin display name and admin menu slug

#### 2.3.2

 * Security: Escape admin JS log output and AJAX error details
 * Standards: Trademark-safe plugin display name
 * Standards: Enqueue dedicated admin CSS instead of inline wp-admin styles
 * Standards: Full GPLv2 LICENSE file
 * Standards: Readme changelog structure and Tested up to update
 * Improved: Safer quiz table existence checks before direct DB reads
 * Improved: Complete JS i18n strings for admin UI text

#### 2.3.1

 * Fixed: Course titles not showing in selection list
 * Fixed: Migration error — improved AJAX error reporting with exact server response
 * Fixed: Added dependency check for LearnDash and LifterLMS before migration starts
 * Improved: JS now shows exact HTTP error and server response for easier debugging

#### 2.3.0

 * Added: Full quiz settings migration (passing score, time limit, attempts, randomization)
 * Added: Question answers migration with correct/incorrect mapping
 * Added: All question types supported (MCQ, True/False, Essay, Fill-in-blank, Sort,
   Match)
 * Added: Question hints and feedback messages migration
 * Added: Course settings migration (access, pricing, expiry, prerequisites, capacity)
 * Added: Lesson settings migration (video, drip content, force completion)
 * Added: Certificate association migration
 * Added: class-quiz-migrator.php for modular quiz handling
 * Added: class-settings-migrator.php for modular settings handling

#### 2.2.0

 * Added: Course selection UI — choose which courses to migrate
 * Added: Select All / Deselect All buttons
 * Added: Selected courses counter
 * Fixed: Plugin URI updated to elearningevolve.com
 * Fixed: Author updated to eLearning Evolve
 * Fixed: Version synced across all files

#### 2.1.0

 * Fixed: Removed @ error suppression — not allowed by WP.org
 * Fixed: All AJAX actions now use unique ldlifter_ prefix
 * Fixed: Added absint(), sanitize_text_field(), wp_kses_post() throughout
 * Fixed: Added sanitize_key() on all meta keys
 * Fixed: JS localized object renamed to ldlifterData (unique prefix)
 * Added: languages/ folder for translation readiness
 * Added: LICENSE file (GPL v2)
 * Updated: readme.txt with full WP.org format

#### 2.0.0

 * Complete rewrite with batch processing
 * Added progress bar, migration log, reset functionality
 * Added nonce security and capability checks
 * Added full support for topics, quizzes, quiz questions
 * Fixed lesson duplication bug

#### 1.0.0

 * Initial release

## Meta

 *  Version **2.3.7**
 *  Last updated **5 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [courses](https://wordpress.org/plugins/tags/courses/)[elearning](https://wordpress.org/plugins/tags/elearning/)
   [learndash](https://wordpress.org/plugins/tags/learndash/)[lifterlms](https://wordpress.org/plugins/tags/lifterlms/)
   [migration](https://wordpress.org/plugins/tags/migration/)
 *  [Advanced View](https://wordpress.org/plugins/evolve-learndash-to-lifter/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/evolve-learndash-to-lifter/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/evolve-learndash-to-lifter/reviews/)

## Contributors

 *   [ EVOLVE ](https://profiles.wordpress.org/elearningevolve/)
 *   [ evolve ](https://profiles.wordpress.org/evolve/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/evolve-learndash-to-lifter/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://elearningevolve.com)