
外掛標籤
開發者團隊
② 後台搜尋「Find & Remove Unused LearnDash Content」→ 直接安裝(推薦)
原文外掛簡介
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 course
learndash_get_lesson_quiz_list() for any lesson
learndash_get_topic_quiz_list() for any topic
_sfwd-quiz post 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-lessons post meta (sfwd-lessons_course field)
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-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
