Find & Remove Unused LearnDash Content

Find & Remove Unused LearnDash Content

Details
View on WordPress

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:

  1. learndash_get_course_quiz_list() for any course
  2. learndash_get_lesson_quiz_list() for any lesson
  3. learndash_get_topic_quiz_list() for any topic
  4. _sfwd-quiz post meta (edit-screen association fallback)

A lesson is marked Used if it has a course pointer via:

  1. learndash_get_course_lessons_list() for any course
  2. _sfwd-lessons post meta (sfwd-lessons_course field)
  3. ld_get_setting( $id, 'course' ) fallback

A topic is marked Used if it has a lesson or course pointer via:

  1. learndash_get_lesson_topics_list() for any lesson
  2. _sfwd-topic post meta (sfwd-topic_lesson / sfwd-topic_course fields)

Safety

  • All destructive actions require nonce verification
  • Only users with the manage_options capability 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

Details

Plugin code:
find-remove-unused-learndash-content
Plugin version:
1.0.2
Author:
Outdated:
No
WP version:
5.8 or higher
PHP version:
7.4 or higher
Test up to WP version:
7.0
Total installations:
0
Last updated:
2026-06-08
Rating:
Times rated:
0
cleanup
database
learndash
lms
unused-content