Skip to Content

Course Access Debugger for LearnDash

Free

Description

Every LearnDash admin knows this ticket: “My student can’t open the course.”

You check the enrolment. Looks fine. You check the group. Looks fine. You check the WooCommerce order, the prerequisites, the drip schedule, the expiry setting… forty minutes later you find it: a refunded order from three months ago quietly revoked access. LearnDash decides access using ten different mechanisms — and gives you no tool that shows which one said “no.”

Course Access Debugger for LearnDash is that missing tool. Pick a user and a course, and get the full verdict in seconds: every access check, evaluated in order, each one marked Pass, Fail, or Not applicable — with a plain-English explanation and a direct link to the exact settings screen that fixes it.


Screen 1 — The Access Debugger

The headline verdict comes straight from LearnDash’s own access function, so it always matches what your learner actually sees. Below it, the full decision chain:

  1. Capability override — is this an admin or auto-enrolled Group Leader who bypasses everything?
  2. Direct enrolment — enrolled or not, with the exact enrolment date. Crucially, it distinguishes “never enrolled” from “was enrolled, but LearnDash removed the record when access expired” — a difference LearnDash itself hides.
  3. Group membership — names the specific group granting the course, or tells you the user’s groups don’t include it.
  4. Course price type — explains what Open, Free, Buy Now, Recurring, or Closed actually means for this user.
  5. WooCommerce order state — finds linked products, locates the user’s orders, and flags the refunded, cancelled, or failed order that took access away.
  6. Access expiry — valid until when, or expired since when.
  7. Prerequisites — names the specific course still incomplete.
  8. Course points — “requires 10 points, user has 5.”
  9. Drip / scheduled release — pick any lesson, topic, or quiz and see the exact date it unlocks for this user.
  10. Linear progression — names the exact step the learner must finish first.

Screen 2 — The Enrollment Audit

The same engine, pointed at a whole course: “Who’s actually in this course, and how did they get there?”

  • Every user with access, with the reason — direct enrolment, the named group, the linked WooCommerce order, open access, or admin capability.
  • Expired learners surfaced — the killer feature. LearnDash silently deletes enrolment records when access expires; the Audit shows who was cut off and when, so you can win them back instead of never knowing they left.
  • Granted date, expiry date, and progress % for every row.
  • Built for big courses — instant AJAX pagination, live search by name/login/email, filter by access source, sort by expiry. Tested against thousands of enrolments.
  • One-click CSV export that respects your active filters — hand marketing the “expired last 30 days” list in seconds.
  • Count summary at a glance: “142 users have access: 30 direct, 104 via 3 groups, 8 via WooCommerce — plus 4 expired.”

Safe by design

The plugin is 100% read-only. It never modifies enrolments, orders, progress, or settings — it only explains them. It’s built defensively around LearnDash internals (every LearnDash call is guarded), passes the official WordPress Coding Standards with zero errors and zero warnings, escapes all output, and checks capabilities and nonces throughout. Uninstalling leaves no trace: no database tables, no options, nothing.

Extensible for developers

Add, remove, or reorder checks via the ld_cad_rules filter — drop in your own rule for a custom membership plugin and it renders in the same Pass/Fail table. Translation-ready with a complete .pot file (152 strings).

Requirements

  • WordPress 5.8+ (tested up to 7.0) • PHP 7.4+
  • LearnDash LMS 4.x (the plugin deactivates its screens gracefully if LearnDash is missing)
  • WooCommerce is optional — order checks activate automatically when WooCommerce and linked products are present

What you get

  • The plugin zip, installed like any WordPress plugin (Plugins → Add New → Upload)
  • Two admin screens under the LearnDash LMS menu: Access Debugger and Enrollment Audit
  • Updates and support per the terms on this site

FAQ

Will it change anything on my site?
No. It is strictly diagnostic and read-only.

Does it work with LearnDash groups sold via WooCommerce?
Yes — group-granted access is resolved and labelled with the group’s name; purchases of linked products are traced to their orders.

My course has thousands of students — will the Audit cope?
Yes. The roster is computed in a handful of queries with bulk-cached lookups, and the table paginates and searches over AJAX without page reloads.

Can I see why a specific lesson is locked, not just the course?
Yes — select any lesson, topic, or quiz in the Debugger and the drip and linear-progression checks evaluate that exact step.

LearnDash® is a registered trademark of LearnDash LLC / Liquid Web. This plugin is an independent product and is not affiliated with, endorsed by, or sponsored by LearnDash. Licensed GPL-2.0-or-later.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.