Creating “Hidden Courses” in LearnDash

Don’t want to show all available courses on your course list? No problem! You can hide any course you choose.

If you have multiple LearnDash powered courses available to your learners then you might not want all of them to be available in the course list. This can be the case if you have a one or two courses that only apply to a select group of learners.

For example, if you are using LearnDash for internal employee training then it doesn’t make sense to include manager-specific courses in the course list for all employees since only managers will need to take these select courses.

To configure hidden courses using LearnDash you will need to leverage two features:

  1. Course List shortcode
  2. LearnDash Groups

Here is one possible way to set this up:

Step 1: Add Tag to Non-Hidden Courses

Add a meaningful Tag to all the courses that should not be hidden. It can be anything that makes sense in the context of your site. Use “curriculum”, or even just “courses”. The important thing is that you add this tag to all courses except the ones that you want to hide.

Step 2: Create a Course List for the Tag

Now that all courses that should be visible have a tag you can use the course list shortcode on a regular WordPress page to insert this list.

Go to PAGES > ADD NEW and title the page “Available Courses” (or something similar).

Next, insert the Course List shortcode.

If our tag is “curriculum” then the shortcode may look like this:

[ld_course_list course_tag="curriculum"]

As a reminder, use the Shortcode Wizard to insert this shortcode to ensure proper formatting.

For adding additional formatting and features to this list, you can use the free Course Grid add-on.

Step 3: Redirect ‘/courses’ to Page Created in Step 2

This is a simple step but an important one. Now that you have a new page listing courses you will want to make sure that anyone who attempts to go to “” is redirected to the new page (i.e. “”). You can easily configure this redirect using a free plugin.

Step 4: Create a LearnDash Group

Now that your course list is created it’s time to create a LearnDash Group of the users who should have access to the hidden course(s).

To do this just go to LEARNDASH LMS > GROUPS > ADD NEW. Select the desired users as well as the hidden courses to associate with the Group. Last, publish the group.

Once published any user who is part of that Group will be automatically enrolled into the associated hidden courses and will appear on their profile under “Enrolled Courses”.

That’s all there is to it! Feel free to experiment with more elaborate set-ups by using multiple tags (or categories) and even by leveraging other shortodes that control view access!


Justin Ferriman is the co-founder and CEO of LearnDash, the WordPress LMS trusted by Fortune 500 companies, major universities, training organizations, and entrepreneurs worldwide for creating (and selling) their online courses. Twitter | LinkedIn

4 Responses

  1. The process of giving tags to “Non-Hidden Courses” seems counter-intuitive. Are there ways to have multiple groups of hidden courses. e.g

    I have company A and B, I don’t want them to be able to see each other’s courses. If I tag the non-hidden courses, but leave all hidden course untagged…then when company A logs in they can see everything that is hidden…including company B’s courses. To clarify, if I have 15 courses: 5 for company A that only they should see, 5 for company B that only they should see, and 5 that everyone can see. Based on my understanding of this ‘How To’ there does not seem to be a way to accomplish this.

    1. In the case of multiple companies that need different view access you’d probably need to creatively leverage the GROUP shortcode. This allows you to display content to people but only if they belong to a certain Group (company).

Leave a Reply

Your email address will not be published. Required fields are marked *