[WordPress] 外掛分享: Course Access Debugger for LearnDash

首頁 › 外掛目錄 › Course Access Debugger for LearnDash
WordPress 外掛 Course Access Debugger for LearnDash 的封面圖片
全新外掛
安裝啟用
—
尚無評分
2 天前
最後更新
—
問題解決
WordPress 5.8+ PHP 7.4+ v1.0.0 上架:2026-10-26

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.0.0) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Course Access Debugger for LearnDash」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

“My student can’t open the course.” Every LearnDash site owner gets this support ticket. Course Access Debugger for LearnDash answers it in seconds: pick a user and a course, and see exactly why that user can or cannot access it.
LearnDash decides course access through around ten different mechanisms — direct enrolment, groups, the course price type, WooCommerce orders, access expiry, prerequisites, course points, drip schedules and linear progression. When a learner is locked out, LearnDash tells you nothing about which one said “no”. You end up checking the enrolment, then the group, then the order, then the expiry setting, one screen at a time. Forty minutes later you find a refunded order or an expired enrolment.
This plugin runs every one of those checks for you, in order, and shows the result on one screen. Each check is marked Pass, Fail or Not applicable, with a plain-English explanation and a link straight to the setting that fixes it.
The Access Debugger
Go to LearnDash LMS → Access Debugger, choose a user and a course, and click Analyze access. At the top you get the verdict — the user CAN or CANNOT access the course — taken directly from LearnDash’s own sfwd_lms_has_access() function, so it always matches what the learner actually sees. Below it, the full access-decision chain:

Capability override — is this an administrator or a group leader who bypasses the normal rules?
Direct enrolment — is the user enrolled, and when? It also tells you when a user was enrolled but LearnDash removed the enrolment because access expired — something LearnDash itself does not show.
Group membership — names the exact LearnDash group that grants the course, or confirms that none of the user’s groups include it.
Course price type — explains what Open, Free, Buy Now, Recurring or Closed means for this user.
WooCommerce order state — if the course is sold through WooCommerce, finds the linked products and the user’s orders, and flags a refunded, cancelled or failed order that removed access.
Access expiry — when access runs out, or when it expired.
Prerequisites — names the specific course the user still has to complete.
Course points — for example “requires 10 points, the user has 5”.
Drip / scheduled release — choose a lesson, topic or quiz and see whether it is available yet for this user, and when it unlocks.
Linear progression — names the exact earlier step the learner must finish first.

Every failing check comes with a Where to fix it link that opens the right course, lesson, group or product settings.
The Enrollment Audit
LearnDash LMS → Enrollment Audit answers the opposite question: “Who is actually in this course, and how did they get access?”
Pick a course and you get a roster of every user with access, showing:

User and email address
Access source — direct enrolment, a named group, a WooCommerce order (with a link to it), an open course, or admin capability
The date access was granted
The expiry date
Course progress as a percentage

Expired learners are included too. When course access expires, LearnDash removes the enrolment and the learner quietly disappears from your lists. The Enrollment Audit shows everyone who had access and lost it, and when — so you can renew them, follow up or win them back.
The audit is built for large courses:

A summary line at the top, for example “142 users have access: 30 direct, 104 via 3 groups, 8 via WooCommerce — plus 4 expired”
Filter by access source and search by name, username or email
Sort by user, access source, granted date or expiry date
Paginated, with pages loading instantly without a full reload
Export to CSV — the file matches the filters you have applied, so you can hand someone an “expired learners” list in seconds

Read-only and safe
The plugin never changes anything. It does not modify enrolments, orders, progress, groups or settings — it only reads them and explains them. It adds no database tables and saves no options, so there is nothing to clean up if you remove it.
Both screens are available to administrators only, every request is protected with a nonce, and all output is escaped.
Works with large sites
On sites with more than a thousand users, the user dropdown is replaced with a lookup box that accepts a user ID, email address or username, so the page stays fast and any account can still be checked.
Who it is for

Course creators and LearnDash site owners who answer “I can’t access my course” emails
Support teams and agencies maintaining LearnDash sites for clients
Training companies and membership sites that sell courses through WooCommerce or grant them through groups
Developers debugging custom enrolment flows, drip schedules or prerequisites

For developers
Add, remove or reorder checks with the rau_cad_rules filter. A custom rule — for example one for your own membership plugin — appears in the same Pass / Fail table as the built-in checks.
The plugin is translation ready and includes a .pot file.
Also from the same developer

Inactive Students for LearnDash — find students who started a course and stopped, see exactly which lesson they quit at, and export the list.
Structure Audit for LearnDash — finds orphaned lessons, empty courses, quizzes with no questions and broken course links in one screen.

Documentation and support
Documentation, setup guides and support are available on the developer’s website: rajaamanullah.com. Read the full documentation, visit the plugin page, or use the wordpress.org support forum.
Disclaimer
This is an independent plugin. It is not affiliated with, endorsed by or sponsored by LearnDash. “LearnDash” is used here only to describe the plugin this one works with.

延伸相關外掛

文章
Filter
Mastodon