Find & Remove Unused LearnDash Content Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
Find & Remove Unused LearnDash Content scans your LearnDash LMS installation and identifies quizzes, lessons, and topics that are not attached to any course structure. Over time these orphaned items accumulate and bloat your database.
This plugin is a third-party utility and is not affiliated with or endorsed by LearnDash or its parent company.
Key Features
- Three-tab dashboard — separate views for Quizzes, Lessons, and Topics
- Smart detection — uses multiple LearnDash API methods to reliably determine usage
- Course column — shows the parent course even when the quiz is attached via a lesson or topic
- Search — filter by title, post ID, or associated course/lesson name
- Usage filter — switch between All / Used / Unused instantly
- Pagination — configurable rows per page (10 / 25 / 50 / 100)
- Bulk actions — Move to Trash or Permanently Delete selected items
- Trash All Unused — one-click button to move all orphaned items to trash
- CSV Export — export current filtered view to a spreadsheet
- Refresh Scan — clear the cache and force a fresh scan
- Results cached — 5-minute transient cache keeps the UI fast
- No external dependencies — pure WordPress APIs only
Requirements
- WordPress 5.8 or higher
- PHP 7.4 or higher
- LearnDash LMS (tested with LearnDash 4.x)
Usage Detection Logic
A quiz is marked Used if it appears in at least one of:
learndash_get_course_quiz_list()for any courselearndash_get_lesson_quiz_list()for any lessonlearndash_get_topic_quiz_list()for any topic_sfwd-quizpost meta (edit-screen association fallback)
A lesson is marked Used if it has a course pointer via:
learndash_get_course_lessons_list()for any course_sfwd-lessonspost meta (sfwd-lessons_coursefield)ld_get_setting( $id, 'course' )fallback
A topic is marked Used if it has a lesson or course pointer via:
learndash_get_lesson_topics_list()for any lesson_sfwd-topicpost meta (sfwd-topic_lesson/sfwd-topic_coursefields)
Safety
- All destructive actions require nonce verification
- Only users with the
manage_optionscapability can use this plugin - Deleted items go to Trash by default so they can be restored
- Results are cached — click Refresh Scan before any cleanup to ensure accuracy
Screenshots
Main dashboard showing the Quizzes tab with Used/Unused status pills and course associations.
Lessons tab with search active, filtering results to a specific term.
Pagination bar with configurable rows-per-page selector.
Bulk action buttons and the Trash All Unused button in the footer.


