EasySecure Import Export Courses Learndash
EasySecure Import Export Courses Learndash
Description
Need to build dozens of LearnDash courses without spending days doing it manually? LearnDash Course Import & Export is the fastest way to bulk create and manage your entire course catalog from a single spreadsheet.
LearnDash Course Import & Export lets you import and export Courses, Lessons, and Topics in bulk using CSV or XLSX files — complete with course settings, media, and the full parent-child hierarchy LearnDash expects.
Whether you’re migrating from another LMS, launching a new training platform, or managing course content across multiple sites — this plugin turns hours of manual work into a few minutes with a spreadsheet.
👉 Download the Sample File: A ready-made CSV/XLSX template is included so you get the formatting right the first time.
👉 Looking for Quiz Import/Export? Check out our companion plugin: EasySecure Import Export Quizzes
Who Is This Plugin For?
LearnDash Course Import & Export is built for anyone who needs to create, migrate, or manage LearnDash course content at scale.
Course Creators & Training Companies
Course creators love this plugin because they can build an entire course catalog from a spreadsheet instead of clicking through dozens of WordPress admin screens. Plan your content in Excel or Google Sheets, then import everything in one go — courses, lessons, topics, pricing, and access settings.
LMS Agencies & Freelancers
Agencies building LearnDash sites for clients love the export and reimport workflow. Export a fully built course from one site, hand the spreadsheet to your client for review, make edits, and reimport. Or duplicate course structures across client sites without rebuilding from scratch.
Corporate Training & HR Teams
Training teams managing large course libraries love the bulk management capability. Update course settings, pricing, or drip schedules across dozens of courses by editing a spreadsheet and reimporting — no need to open each course individually.
LMS Migration Projects
Migrating from another LMS to LearnDash? Export your content into CSV/XLSX format, map it to the sample template, and import your entire course structure in minutes instead of manually recreating every course, lesson, and topic.
🎯 Key Import Features
- CSV and XLSX file support. Use XLSX for lessons and topics; a CSV file holds one sheet, so it imports courses only.
- Columns are matched by their header names, so files exported by this plugin import back exactly, and you can reorder columns.
- Full course hierarchy rebuild — the plugin automatically links lessons to courses and topics to lessons, exactly as LearnDash expects. No manual parent-child assignment needed.
- All LearnDash settings included — import access mode, pricing, billing cycles, trial periods, access expiration, drip-feed schedules, categories, and tags — all from your spreadsheet.
- Automatic media imports — featured images, materials and files linked in descriptions (images, PDFs, MP4 videos) are pulled directly from URLs in your file. No separate upload step, and a file already imported from the same URL is reused instead of duplicated.
- Background processing via Action Scheduler — large imports run in the background so they don’t time out or lock up your site, even with hundreds of items.
- Live progress bar — real-time status updates so you always know exactly where your import stands.
- Ready-made sample file — download the included template and start filling in your content immediately. No guesswork on column names or formatting.
🎯 Key Export Features
- One-click export button — added directly inside the LearnDash Courses admin list. Select a course and export it instantly.
- Bulk export action — select multiple courses from the list and export them all at once.
- Multi-sheet XLSX export — Courses, Lessons, and Topics are each exported on their own sheet for clean, organized editing.
- CSV or XLSX output — choose the format that fits your workflow.
🔒 Built for Reliability & Security
- Nonce verification on every import and export action.
- Capability checks ensure only authorized users can run imports and exports.
- Action Scheduler integration prevents server timeouts on large datasets.
- Requires LearnDash LMS 4.0 or newer to be installed and active.
3 Steps to Import Your First Course
- Download the sample file from the plugin menu — it’s pre-formatted with the correct columns and structure.
- Fill in your content — add course titles, lesson content, topics, pricing, access settings, and media URLs in one spreadsheet.
- Upload and import — the plugin handles everything else: creates your courses, links lessons and topics in the right hierarchy, pulls in images and files, and applies all your LearnDash settings.
That’s it. Your courses are live and fully structured.
🔌 Companion Plugin: Quiz Import & Export
This plugin handles Courses, Lessons, and Topics. For LearnDash Quizzes and Questions — including answers, correct answers, and quiz settings — use our dedicated companion plugin:
👉 EasySecure Import Export Quizzes
Together, both plugins give you complete control over your entire LearnDash content library through simple spreadsheet files.
Installation
- Make sure LearnDash LMS (4.0 or newer) is installed and active on your site.
- Upload the
easysecure-import-export-courses-learndashfolder to the/wp-content/plugins/directory, or install directly through the WordPress plugin browser. - Activate the plugin through the Plugins menu in WordPress.
- Navigate to EasySecure Import Export Courses Learndash in the WordPress admin menu to start importing or exporting.
Faq
CSV and XLSX. A ready-made sample file is available for download inside the plugin — use it as your starting template to make sure columns and formatting are correct before your first import.
Yes. The plugin reads your file and automatically rebuilds the full course hierarchy — courses, lessons linked to the correct courses, and topics linked to the correct lessons. You don’t need to create anything manually in LearnDash first.
Access mode, pricing, billing cycles, trial periods, access expiration, drip-feed schedules, categories, and tags. All configurable directly from columns in your spreadsheet.
Yes. Add URLs for featured images, PDFs, and MP4 video files in your spreadsheet, and the plugin downloads them into your Media Library during import. Exported files point at the original media URLs, so the source site must be reachable while you import.
The plugin uses WordPress Action Scheduler for background processing. Large imports run reliably without timing out or slowing down your site. A live progress bar shows you real-time status updates.
Yes. On the LearnDash Courses list page in the admin area, select the courses you want and use the bulk export action. You can export to CSV or XLSX.
It updates them. Courses, lessons and topics are matched by slug: a match is updated with the values in your file, and anything without a match is created. LearnDash settings that have no column in the file are kept. Nothing is deleted.
No. Quizzes and Questions are handled by our companion plugin, EasySecure Import Export Quizzes. This plugin focuses exclusively on Courses, Lessons, and Topics.
Check the error message displayed on the import page. The most common cause is incorrect file formatting. Download the sample file and compare your column structure. If you’re still stuck, reach out through the plugin support forum and we’ll help you sort it out.
Reviews
Changelog
1.2.0
- Fix: re-importing an exported file no longer shifts course expiry, dates, seat limit and material settings by one column. Columns are now read by header name.
- Fix: re-imports update the matching course, lesson or topic instead of creating duplicates or wiping LearnDash settings that are not in the file.
- Fix: topics are matched by slug, so topics with the same title in different lessons are no longer merged. Topic release settings (visible after, specific date) are now imported.
- Fix: existing topics are no longer attached to lessons just because their titles overlap.
- Fix: PDF and MP4 files in materials and descriptions are now imported, and media already imported from the same URL is reused.
- Fix: export writes media URLs and material text as stored instead of copying files to uploads/exports.
- Fix: the import progress bar no longer sticks when a course fails, and imports run in the same request when Action Scheduler is not available.
- Compatibility: requires PHP 8.2+ and WordPress 6.9+, tested up to WordPress 7.1 and PHP 8.5, with LearnDash 5.2.
- Updated the bundled OpenSpout spreadsheet library from 3.4 to 4.28.5, removing PHP 8.1+ deprecation notices.
- Fix: XLSX imports no longer fail when a cell is formatted as a date.
- Fix: PHP warnings for empty course and lesson fields during export, and undefined values during lesson import.
- Fix: a failed category creation no longer stops the course import.
- Security: single-course export now requires an administrator and a nonce tied to the course being exported.
- Security: the import progress endpoint is no longer open to logged-out visitors and now checks a nonce and capability.
- Security: material and image downloads use WordPress’s safe HTTP API, so they cannot reach internal or loopback addresses.
- Security: course materials and URL fields from the spreadsheet are sanitized before saving.
- Security: imports only accept CSV or XLSX files, which are stored in a protected folder and deleted once read.
- Added an admin notice when LearnDash is older than 4.0.
1.1.0
- Bug fixes
- Initial release.
- Added support for importing and exporting LearnDash courses, lessons, topics.
- Bulk export feature added.