LearnDash
LearnDash course access follows your membership rules instead of its own separate permission model. Protect courses, track progress, and enroll members automatically by tag.
LearnDash is a capable LMS with its own enrollment system, which is exactly the problem. A member who buys access through your CRM gets a tag, but LearnDash wants to enroll them itself, so you end up running two parallel access systems and hoping they agree. The integration makes your tags the single source of truth: apply the tag and the member is enrolled in the course, remove the tag and their access ends.
That changes how you sell courses. Enrollment becomes something your CRM automation does, not something you do in the WordPress admin. A purchase applies a tag, a trial expiry removes it, a support gesture grants it for a week. The course reacts instantly in every case.
Members also gain tools that LearnDash alone doesn't give them. Shortcodes can check whether the current member is enrolled in or has completed a specific course, so you can build dashboard pages that say "continue where you left off" for one member and "you have finished this course" for another. Admin actions can reset or remove course history when a membership restarts.
If you run cohorts, the pairing is especially clean: tag the cohort, and everyone in it moves through the course together.
Shortcodes
| Shortcode | What it does |
|---|---|
| [memb_learndash_course_enroll] | Enrolls a user in a LearnDash course when the page renders. |
| [memb_learndash_course_reset] | Renders a form that clears a member's LearnDash course history. |
| [memb_learndash_course_unenroll] | Removes a user's enrollment from a LearnDash course when the page renders. |
| [memb_learndash_is_completed] | Conditional shortcode that displays content when the current user has completed a LearnDash course, lesson, topic, or quiz. |
| [memb_learndash_is_enrolled] | Conditional shortcode that displays content when the current user is enrolled in a LearnDash course. |