Title: Find &amp; Remove Unused LearnDash Content
Author: Saqib K.
Published: <strong>June 8, 2026</strong>
Last modified: June 8, 2026

---

Search plugins

![](https://ps.w.org/find-remove-unused-learndash-content/assets/banner-772x250.
png?rev=3565268)

![](https://ps.w.org/find-remove-unused-learndash-content/assets/icon-256x256.png?
rev=3565268)

# Find & Remove Unused LearnDash Content

 By [Saqib K.](https://profiles.wordpress.org/saqibabbasi/)

[Download](https://downloads.wordpress.org/plugin/find-remove-unused-learndash-content.1.0.2.zip)

 * [Details](https://wordpress.org/plugins/find-remove-unused-learndash-content/#description)
 * [Reviews](https://wordpress.org/plugins/find-remove-unused-learndash-content/#reviews)
 *  [Installation](https://wordpress.org/plugins/find-remove-unused-learndash-content/#installation)
 * [Development](https://wordpress.org/plugins/find-remove-unused-learndash-content/#developers)

 [Support](https://wordpress.org/support/plugin/find-remove-unused-learndash-content/)

## 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:

 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

## Screenshots

[⌊Main dashboard showing the Quizzes tab with Used/Unused status pills and course
associations.⌉⌊Main dashboard showing the Quizzes tab with Used/Unused status pills
and course associations.⌉[

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.⌉⌊Lessons
tab with search active, filtering results to a specific term.⌉[

Lessons tab with search active, filtering results to a specific term.

[⌊Pagination bar with configurable rows-per-page selector.⌉⌊Pagination bar with 
configurable rows-per-page selector.⌉[

Pagination bar with configurable rows-per-page selector.

[⌊Bulk action buttons and the Trash All Unused button in the footer.⌉⌊Bulk action
buttons and the Trash All Unused button in the footer.⌉[

Bulk action buttons and the Trash All Unused button in the footer.

[[

## Installation

 1. Download the plugin ZIP file.
 2. Go to **WordPress Admin  Plugins  Add New  Upload Plugin**.
 3. Choose the ZIP file and click **Install Now**.
 4. Click **Activate Plugin**.
 5. Navigate to **LearnDash  Unused Content** in your admin sidebar.

#### Manual Installation

 1. Unzip the plugin folder.
 2. Upload the `find-remove-unused-learndash-content` folder to `/wp-content/plugins/`.
 3. Activate the plugin through the **Plugins** menu in WordPress Admin.

## FAQ

### Does this plugin delete content automatically?

No. The plugin only scans and displays results. You must manually select items and
use the bulk action buttons, or click “Trash All Unused”. Items are moved to Trash
by default, not permanently deleted, so you can restore them if needed.

### Is this an endorsed LearnDash plugin?

No. This is an independent third-party utility. It is not affiliated with, endorsed
by, or supported by LearnDash or its parent company.

### What LearnDash versions are supported?

The plugin has been tested with LearnDash 4.x. It uses publicly documented LearnDash
PHP functions and post meta keys.

### Why does the Course column show a dash for some used quizzes?

Click **Refresh Scan** to clear the cache and re-scan. If a quiz is linked to a 
lesson but that lesson has no course pointer in its meta, the plugin will mark the
quiz as Used but cannot determine the parent course. In that case, check the lesson’s
settings in LearnDash and ensure it is assigned to a course.

### Can I undo a deletion?

If you used “Move to Trash”, yes — go to LearnDash  Quizzes (or Lessons / Topics)
Trash and restore them. Permanently deleted items cannot be recovered.

### The plugin shows a large number of unused lessons or topics — is that correct?

It can be. LearnDash does not automatically clean up lessons or topics when a course
is deleted. Always review carefully before bulk-deleting.

### Will this plugin work if LearnDash is deactivated?

The plugin will still activate and show the admin page, but scan results will be
empty. A warning banner will appear at the top of the page.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Find & Remove Unused LearnDash Content” is open source software. The following 
people have contributed to this plugin.

Contributors

 *   [ Saqib K. ](https://profiles.wordpress.org/saqibabbasi/)

[Translate “Find & Remove Unused LearnDash Content” into your language.](https://translate.wordpress.org/projects/wp-plugins/find-remove-unused-learndash-content)

### Interested in development?

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

## Changelog

#### 1.0.2

 * Initial release.

## Meta

 *  Version **1.0.2**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [cleanup](https://wordpress.org/plugins/tags/cleanup/)[database](https://wordpress.org/plugins/tags/database/)
   [learndash](https://wordpress.org/plugins/tags/learndash/)[lms](https://wordpress.org/plugins/tags/lms/)
 *  [Advanced View](https://wordpress.org/plugins/find-remove-unused-learndash-content/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/find-remove-unused-learndash-content/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/find-remove-unused-learndash-content/reviews/)

## Contributors

 *   [ Saqib K. ](https://profiles.wordpress.org/saqibabbasi/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/find-remove-unused-learndash-content/)