How to Show Only Accessible Courses in LearnDash: Drip Content & Membership Made Easy
Introduction
If you run a LearnDash site, you want students to see only the courses they can join right now. By default, LearnDash shows every published course—even those locked by dates or prerequisites. This can confuse students and make your site look cluttered. The Current Courses plugin fixes that.
With Current Courses, you can:
- Hide courses that aren’t open yet.
- Show all courses but dim out (fade) the locked ones.
This means learners see exactly what is available. It also helps search engines index the right pages. In this article, learn why this matters and how to set it up easily.
Why You Need This Plugin
1. Prevent Student Confusion
- Locked courses can frustrate learners.
A student logs in and sees ten course titles. Four of them are gray because the release date hasn’t arrived. Three more say “finish a course first.” The student might click these locked items and wonder why they can’t access anything. - Current Courses solves this by:
- Hiding locked courses completely (in hide mode).
- Or showing locked courses in faded text (in show mode) so students know what is coming next but can’t click it yet.
Either option makes the learning path clearer and more helpful.
Here you can download it for free
2. Improve Your SEO
- Search engines follow links.
If Google sees links to courses that aren’t ready, it wastes crawl budget and can rank your site lower. - Current Courses helps by:
- Showing only live courses (in hide mode), so search bots index the right pages.
- Or showing all courses but not linking locked ones (in show mode), so crawlers skip inactive content.
This keeps your site clean and helps search engines focus on available material.
3. Save Time on Manual Updates
- Without a plugin, you’d need to:
- Build custom menus or write PHP code to hide locked courses.
- Update those menus or code every time you add a course or change a date.
- Current Courses does this automatically:
- As soon as you set a drip date or add a prerequisite in LearnDash, the plugin shows or hides courses for you.
- You never have to touch code again for those updates.
What the Plugin Does
- Checks Drip Dates
- If a course is set to unlock on a future date, it stays hidden (in hide mode) or faded (in show mode).
- Respects Prerequisites
- If a student must complete Course A before Course B, the plugin waits until Course A is done.
- Offers Two Display Modes
- Hide Mode (
mode="hide"
)
Only shows courses the user can join now. All locked courses are omitted. - Show Mode (
mode="show"
)
Shows all courses. Available courses are normal links, while locked courses appear gray (opacity 0.5) and are not clickable.
- Hide Mode (
- Uses a Simple Shortcode
- Add
[current_courses mode="hide"]
or[current_courses mode="show"]
to any page or post. No coding required.
- Add
Main Benefits at a Glance
- Clear Student Experience
Students see only what they can join now. They won’t click locked courses by mistake. - Better SEO
Search engines index only live content. This helps your site rank higher and avoids old or future courses showing up too early. - Automatic Updates
As you add new courses, set drip dates, or add prerequisites in LearnDash, the plugin updates the list automatically. No more manual changes. - Easy to Use
Install, activate, and use a simple shortcode to display courses. It’s ready in just three steps.
How to Install
- Download & Upload
- Unzip the folder named
current-courses-shortcode
. - Upload the folder to
/wp-content/plugins/
on your site.
- Unzip the folder named
- Activate
- Go to WordPress Dashboard → Plugins.
- Find Current Courses and click Activate.
- Use the Shortcode
- In any page or post (or page-builder widget), type:
[current_courses mode="hide"]
or
[current_courses mode="show"]
- Save and view your page. The plugin will list courses based on your chosen mode.
- In any page or post (or page-builder widget), type:
How It Works
- Fetches All Courses
The plugin queries every published LearnDash course (post type =sfwd-courses
). - Checks User Access
For each course, it calls LearnDash’s functionsfwd_lms_has_access($course_id, $user_id)
to see if the current user can join. This covers:- Enrollment status
- Drip dates
- Prerequisites
- Displays Courses
- In hide mode, it shows only courses where access is true.
- In show mode, it shows all courses. If access is true, the title is a normal link. If access is false, the title is wrapped in a faded
<li style="opacity:0.5">
and is not clickable.
- SEO-Friendly Output
- Outputs a clean
<ul>
list. - Live courses use
<a href="…">Course Title</a>
. - Locked courses use
<li style="opacity:0.5">Course Title</li>
. - Search engines follow real links and ignore faded items, keeping indexing focused on live content.
- Outputs a clean
Example: What Students See
Hide Mode ([current_courses mode="hide"]
)
An unlocked course list might be:
<ul class="cc-course-list" style="list-style:none; margin:0; padding:0;">
<li style="margin-bottom:0.5em;"><a href="https://example.com/course/painting-101/">Painting 101</a></li>
<li style="margin-bottom:0.5em;"><a href="https://example.com/course/student-skills/">Student Skills</a></li>
</ul>
Locked or future courses simply do not appear.
Show Mode ([current_courses mode="show"]
)
All courses appear, but locked ones look gray:
<ul class="cc-course-list" style="list-style:none; margin:0; padding:0;">
<li style="margin-bottom:0.5em;"><a href="https://example.com/course/painting-101/">Painting 101</a></li>
<li style="margin-bottom:0.5em; opacity:0.5; color:#555; cursor:default;">Sculpture Basics (Locked)</li>
<li style="margin-bottom:0.5em;"><a href="https://example.com/course/student-skills/">Student Skills</a></li>
<li style="margin-bottom:0.5em; opacity:0.5; color:#555; cursor:default;">Advanced Art (Locked)</li>
</ul>
Students see gray text for locked courses, so they always know these are not yet available.
SEO Tips
- Pick the Right Mode
- Use hide mode on your main “Courses” page to index only live courses.
- Use show mode if you want students to see upcoming courses but still allow search engines to notice all pages.
- Write Clear Titles and Descriptions
- Use titles like “Available LearnDash Courses.”
- Add a short meta description, for example:
“Browse the LearnDash courses you can join today. Drip and prerequisites managed automatically.”
- Internal Linking
- Link from blog posts or the sidebar to your main courses page instead of linking each course individually. This strengthens that page’s SEO.
- Exclude Locked Pages from Sitemaps
- If you use an SEO plugin, make sure locked courses are not forced into your sitemap too early.
Real-Life Examples
- Online Coaching Site
- A coach runs a 10-week art program with weekly drip dates.
- Students see “Week 1” today, “Week 2” next Monday, and so on.
- The coach uses
[current_courses mode="show"]
so learners see future weeks grayed out.
- Membership Levels
- A site offers “Silver” and “Gold” memberships.
- Silver members get 5 courses, Gold members get 10.
- On the membership dashboard,
[current_courses mode="show"]
lists all 10 courses. - Silver members see five clickable links and five gray, locked items.
- College Portal
- A university program requires “Intro to Math” before “Calculus.”
- Once a student finishes “Intro to Math,” “Calculus” becomes clickable automatically.
- Professors don’t need to update menus—everything unlocks as soon as requirements are met.
Conclusion
The Current Courses plugin makes your LearnDash site easy to use. It hides or fades out courses based on each student’s progress and your drip schedule. Setup is quick:
- Upload the plugin to
/wp-content/plugins/
. - Activate it in Plugins.
- Use
[current_courses mode="hide"]
or[current_courses mode="show"]
.
Now students see only what they can join right away. Your site looks cleaner, and search engines index the right content. Try Current Courses today to give your learners a clear, simple way to find available courses.