LDX Design

Explaining LearnDash Course Types: When & Why to Use Each One

Affiliate Disclosure: We may be compensated if you use our links to make a purchase. We are extremely selective in who we partner with & only recommend products we believe in. Our affiliate relationships do not influence our recommendations.

LearnDash Course Price Type dropdown

There are 5 types of courses in LearnDash, and each one offers a different set of options. The names aren’t quite as intuitive as they could be. And if you’re using a third-party membership or ecommerce plugin (WooCommerce, MemberPress, etc.), things can get even more confusing.

How do you know which LearnDash course type to choose? We’ve got you covered.

πŸ“˜ LearnDash Course Type Reference

Course Type Quick Overview
  • Free & open to anyone visiting your site
  • No registration or login is required for access
  • Must be registered/logged in to track course progress
  • Must be registered/logged in to access
  • “Take This Course” button is shown; sends you to default WordPress login page
  • Best used in conjunction with a registration plugin or workflow
  • Must be registered/logged in to access
  • Allows you to sell your course
  • Enables a custom URL field to sell access with a shopping cart or membership plugin
  • Also good for manually providing user access to a private course
Buy Now
  • Must be registered/logged in to access
  • Requires a fee to be paid (no free access)
  • Only works with the default LearnDash payment methods (PayPal and/or Stripe)
  • Do not use if you’re selling courses via a shopping cart or membership plugin
  • Similar to “Buy Now,” only the payments are recurring instead of one-time
  • Customize the billing cycle in days, weeks, months or years
  • All other “Buy Now” course type rules apply

Regardless of course type, you can provide access to any course if a user has an account on your site (check Users > All Users in your WordPress admin area). Add their user ID to the “Course Access List” on the course edit screen.

Recommended Product

Uncanny Owl logo
Uncanny Owl has been making the best LearnDash plugins since the day LearnDash was born. Their LearnDash Toolkit is used on over 30,000 sites and adds 20+ features specifically for LearnDash. They also sell the popular plugins:
β€’ Uncanny Groups - group/corporate sales, group reporting & more.
β€’ Tin Canny Reporting - one of the best reporting plugins for LearnDash
β€’ Uncanny Automator - automate LearnDash & connect with 150+ WordPress plugins & third-party services

LearnDash course access list field

2 ways to manually enroll users β†’

Now let’s talk more specifically about each LearnDash course type (technically labeled as “Course Price Type” in the WordPress admin), along with when & why to use each one. We’ll discuss…

  • the best options for different types of learning platforms
  • which option to choose for integration with ecommerce & membership plugins
  • free vs. paid vs. recurring vs. membership vs. private vs…
  • what each course type does & does not do

Open Courses

Open courses in LearnDash are freely available to anyone & everyone visiting your site. No login or registration is required, and no signup method is provided by default.

Open sign

Open courses:

βœ… make your content available to anyone who can access your website
βœ… automatically become available to anyone with a WordPress user account

Open courses do not:

❌ require registration
❌ require or accept payment
❌ track progress, unless the user is logged in

Recommended Product

Rapyd WordPress Hosting
Rapyd just launched the fastest BuddyBoss, LearnDash & WordPress LMS hosting on the planet. Get 25% OFF with their early bird discount and lock-in up to 2 years of discounted pricing. From the creators of BuddyBoss.

Get 25% OFF Rapyd Today β†’

If you have “Open” courses on your site, as soon as someone registers an account, they will automatically have access to all “Open” courses. They will appear anywhere you display a list of registered courses (like in the [ld_profile] shortcode, for example).

Why use “open” courses?

There are not many situations in which I’d recommend setting your course to open.

Open courses don’t provide a good way to capture any information about the person taking your course. If you plan to build an audience of any kind, and/or expand your reach, you’ll want to capture some information, whether it be through site registration, a lead form, etc.

Since open courses can also be taken by visitors with no registered account on your site, that means there’s no way for them to track progress. So it’s also not the best user experience for them.

Situations where you might want to use an open course:

  • If you want to offer a free, small course as somewhat of a marketing teaser
  • If you have a “how to use the site” or “how to navigate through our courses” course, you could set it to open. As soon as a user purchased or registered for a real course, this “how to use the site” course would show up automatically in their list of courses (in addition to the one they purchased). Shout out to Ryk Melck for the idea.
    * You would probably want to exclude it from search results, and not link to it anywhere on your public site.
  • If you run LearnDash on an intranet, where only your employees have access to the site, open courses could be used to automatically provide access each time you add a new user (employee) to the site.

Free Courses

Nothing in life is free.

…or so the saying goes. Well, the same is true for a “free” LearnDash course. Free courses still require a user to sign up on your site. So at the very least, they will need to provide an email address. Read on for more specifics, after this quick throwback from the woman who embraced “free” like nobody else.

Recommended Product

Uncanny Automator logo
Automate your LMS site with over 150+ plugins & apps. Uncanny Automator is the perfect no-code automation tool to replace dozens of WordPress plugins.

 β€’ Supports LearnDash, Tutor LMS, LifterLMS, and most membership plugins
 β€’ Trusted by 30,000 companies

Get 10% OFF with code affiliate10-dwarfel

Free courses:

βœ… require a user to be logged in to access
βœ… display a “Take This Course” button to visitors who are not enrolled
βœ… work well with ecommerce, membership & user registration plugins
βœ… can be used for manual course enrollment by an administrator

Free courses do not:

❌ require or accept payment
❌ give public access to your course

Why use the “free” course type?

Situations where you might want to use a free course:

  • If you’re manually providing course access to existing users on your site
  • If you don’t want to charge a dollar amount, but want to collect a user’s email address before they can take the course
  • If you’re using an ecommerce, membership or CRM plugin to manage users, but don’t want to charge for the course

Without any registration, ecommerce or membership plugin in place, the default registration experience is very poor. You will be sending the user through a bunch of steps, many of which are not intuitive.

With free courses, we highly recommend using another plugin to manage the user registration process.

Closed Courses

With all the integrations that LearnDash offers, “closed” courses are probably the most popular. You are basically telling LearnDash to do nothing, and then whatever plugin you’re using takes care of all payment, registration & course access.

They require more work upfront, but provide near infinite possibilities when you start integrating third-party add-ons.

Closed sign

You have nothing to be sorry about. “Closed” courses are actually the most flexible & powerful course type.

Closed courses:

βœ… require a user to be logged in to access
βœ… allow you to enter a custom URL to redirect the user for registration or payment
βœ… work best when paired with a membership or ecommerce plugin (WooCommerce, EDD, MemberPress, etc.)
βœ… can be used for manual course enrollment by an administrator

Closed courses do not:

❌ give public access to your course
❌ trigger any default LearnDash payment options
(you must use another plugin if you plan to charge for your course)
❌ show a “Take This Course” button, unless you enter a custom button URL

Why use the “closed” course type?

Like I mentioned above, this is the most commonly used course type for LearnDash. If you’re using any type of plugin to manage registration, membership or the ecommerce/checkout experience, you’ll likely use a “closed” course.

Situations where you might want to use a closed course:

  • Any time you’re offering a paid course andΒ not using LearnDash’s default payment methods (i.e. if you’re using an ecommerce or membership plugin)
  • Just about any time you’re using a third-party plugin to manage registration and/or payment, you’ll likely want to set the course to closed
  • If you’re providing internal training to a private group or company and want to manually add specific users

Buy Now Courses

“Buy Now” courses are quick’n’easy to set up (if you’re OK using PayPal or Stripe), but offer very little flexibility over the user experience. Use with caution, and understand you’ll have limited options.

Shop til you drop

Chasin’ down that last loaf of bread…

Buy now courses:

βœ… require payment
βœ… charge the user a one-time fee for course access
βœ… allow you to set a redirect URL upon successful payment (i.e. “thank you” page)
βœ… automatically create a user account & enroll user into course
βœ… work with LearnDash payment methods (PayPal and/or Stripe)
βœ… (if using PayPal) process the transaction on paypal.com (not on your site)
βœ… (if using Stripe) use Stripe’s checkout modal

Buy now courses do not:

❌ provide any customization of the checkout process
❌ allow recurring payments for course access
❌ allow the use of a third-party shopping cart
❌ allow the use of coupons or discounts

LearnDash has an integration with 2Checkout, but it hasn’t been updated since October 2016, and the documentation is sparse. It likely works, but is probably not the best option for accepting LearnDash payments.

Why use the “buy now” course type?

Most users don’t choose this course type because it offers very little customization of the user experience. What it lacks in flexibility, it makes up for in simplicity. It’s the easiest & quickest way to start selling LearnDash courses.

Situations where you might want to use a buy now course:

  • If you want to start selling courses right away, and don’t have time to set up a more complete ecommerce or membership solution
  • If you don’t care too much about the user experience, and what happens after payment is received. With “buy now” courses, be prepared for questions from your students about how to proceed & what to do next.

Recurring Courses

“Recurring” courses are very similar to the “Buy Now” course type. Quick’n’easy to set up. Limited flexibility. If you’re looking for a more polished checkout & registration process, and/or more control over the student learning experience, you probably don’t want to go this route.

Puff Daddy makin' it rain

Dolla dolla billz, y’all!

Recurring courses:

βœ… require payment
βœ… charge a recurring payment for course access
βœ… allow for a recurring billing cycle in __ days, weeks, months or years
βœ… work with LearnDash payment methods (PayPal and/or Stripe)
βœ… …and have all the same features as “Buy Now” courses

Recurring courses do not:

❌ provide any customization of the checkout process
❌ allow for one-time payments for course access
❌ allow the use of a third-party shopping cart
❌ allow the use of coupons or discounts

Why use the “recurring” course type?

Similar to “Buy Now” courses, I would only recommend the “Recurring” course type if you’re in a hurry to get something set up, or are fine with a sub-par user registration process.

For a more complete elearning platform that charges recurring fees for course access, look into a third-party ecommerce or membership plugin that integrates nicely with LearnDash.Β (WooCommerce, Gravity Forms,Β EDD, MemberPress, etc.)

Did I miss any scenarios for using a particular course type? Please let me know in the comments so I can add it (I’ll give you a shoutoutΒ πŸ“£).

Trouble deciding which LearnDash course type to choose? Leave a comment with what you’re trying to achieve, and I’ll see if I can provide some suggestions.

Did I get something wrong? I quickly tested each option, but the official documentation is a little outdated. If I stated something incorrectly, please let me know so I can fix it.


Customize LearnDash Button Styles with CSS (Class/ID Names)


2 Ways to Manually Enroll Users into a LearnDash Course


  1. Thanks so much for clarifying this information. Your explanation is excellent & helped make it easy to set up my first ever course! Excellent work. Please keep these articles coming!

    • So glad you found it helpful. Congrats on launching your first course! I wish you lots of success πŸ™‚.

      I’ve got plenty more content coming πŸ‘¨β€πŸ’»…

  2. Dave – thanks so much for these very clear explanations! Just the extra I needed to know exactly how to set my course payment types.

  3. Mark Mobley

    At the end of a short intro course I would like to give users the option of giving me their info to stay in touch about the release of the main product in the near future.
    Which course would be easiest?

    • For this, I don’t think the course type really matters. You could use the [course_complete] shortcode to show a message at the top of your course page. Only students who have finished it will see it.

      Within the shortcode, place a link to sign up, embed a form, or use whatever you want to capture their email address.

    • Mark

      Dave, you mentioned below using shortcodes [course_complete] on a page. I am new to much of this and am not that familiar with shortcoming. I am using MemberMouse and have generated the code to be able to get the needed sign up form. But I am having trouble getting it to appear where I need it or want it. Is there a way I can add this all the results pages for quizzes?
      Or is there some way to create a link to a page that is like a simple landing that I could give a brief introduction to our coming product and allow people to sign up for continuing email info out our future release?
      PS Do you do consulting on projects?

    • Hey Mark,

      Can you email me at dave@escapecreative.com please, and we can continue the conversation there?

      I’d like to see the MemberMouse code that creates the form. I can then help you with the code.

      Or if you’d like to create a single page that contains the MemberMouse form, you could use the [course_complete] shortcode like this:

      [course_complete]<a href="https://yoursite.com/url-to-membermouse-signup-page/">Keep in touch with future courses</a>[/course_complete]

      Adding it to the end of a quiz might be a little more tricky, but still possible. Shoot me an email.

  4. Ayham

    This is a great explanation Dave. Thank you very much for taking the time to clarify the different options. It was very challenging to figure out what to do and with what to combine and so this saved me a lot of time. I am deciding what plugins to use and after some research I find that there is some overlap across plugins. For example:

    Overlap between Woocommerce and Memberpress:
    Woocommerce is a shopping cart. The main value of which is it to accept payments, detect abandoned sales and have better follow up with a potential client . Right? My understanding is that I can also use Woocommerce to register users and provide them with a membership, but isn’t membership something that Memberpress provides (perhaps better with more options)?

    Overlap between Woocommerce, Memberpress and Gravity forms:
    They provide a more tailored registration process with extra fields that potential users/clients can fill. Does ‘Gravity forms’ work ‘within’ Woocommerce and Memberpress, such that it integrates with them by adding yet more options to the registration form?

    Overlap between Memberpress and LearnDash
    My understanding is that Memberpress (also Woocommerce) allow the selling of course ‘Bundles’ and assigning them to a user. Is there another enhancement to the membership experience that these two plugins provide beyond what LearnDash membership offers? There are also ‘triggers’ add-on within LD so it seems that the Bundles is the main value add.

    And finally, I find that there is a plugin called WP FUSION, which seems to be primarily for marketing automation yet also provides membership.

    I hope you don’t mind the long post but I am excited to have found someone who knows what they’re talking about.


    • Hi Ayham,

      I don’t mind the long comment at all. I realize it can be confusing. There are a lot of options!

      As a general rule, I always try to use as few plugins as possible to achieve my goals. This helps keep your site’s loading time down, as well as limits potential conflicts between plugins.

      LearnDash (LD), on its own, doesn’t really have true membership capabilities. If someone buys a course, LD will enroll them into that course. But that’s really it. No bundles. No membership levels or different term lengths. Just your basic, you buy it, you get access to it.

      With WooCommerce, yes, it’s a shopping cart. It does let you have more control over the shopping experience, email notifications, etc. But to do memberships, you’ll still need another plugin/extension. You could use MemberPress with Woo, OR Woo also has its own “Memberships” extension. Check out features & pricing to determine the better fit for you.

      Gravity Forms could be used by itself with LearnDash, to… 1) sign people up for free courses, 2) collect email addresses, 3) send those emails to a third-party email marketing platform, 4) enroll users into a course, and even 5) accept payments for courses. — But it’s not going to integrate well with either MemberPress or Woo.

      I don’t know much about WP Fusion, but from what I’ve seen other users talk about it, most use it in conjunction with another membership plugin. I don’t think it’s membership abilities are great on its own. It’s more a tool for connection other third-party platforms together to get them to talk to each other.

      I’m not sure what you’re referring to when you say LD has an add-on for “triggers.” If you can provide more info on that, I’d be happy to try and answer your question.

      But in general, most people DO NOT just use LD by itself. They typically use ONE of the following:

      • WooCommerce
      • MemberPress
      • Gravity Forms
    • Ayham

      Thank you for the detailed response Dave! What I meant by ‘triggers’ add-on was setting up actions, for example sending reminders or notifications to users when they complete an action such as finishing a lesson or course.

      As for too many plugins. I currently have about 20 installed. Too much you would say?


    • Gotcha. There are really two different add-ons that handle that. The “Notifications” add-on allows you to send emails based on a bunch of different triggers. Then there’s the “Zapier” add-on that goes a step further, and let’s you connect triggers on your LearnDash site with other third-party apps. So you can do even more than just send emails.

      I’ve used the Notifications add-on a little bit, and it’s OK. Several users have had issues with it, but I have been able to use it successfully for sending a few tasks. I have not used the Zapier add-on, but would expect it to provide you with a lot of flexibility.

      As for plugins, it’s not the quantity that matters. It’s the quality. If they all serve a purpose, are not redundant, and are built by well-respected developers… than you could have upwards of 100 plugins and your site will still run just fine. Some of my sites run 40+ plugins and still load quickly; no problems.

  5. Mark Mobley

    Dave, You touched on a key point that I think many beginners miss. Use a minimum of plugins. It is very easy to get star struck with all the things you can do with WordPress, etc. The professional knows how to get the job that needs to be done with a minimum of coding and plugins. Thanks for your help.

    • Thanks Mark. I hear what you’re saying, and I have seen first hand what can happen to a site when the plugins get out of hand. But like I mentioned above to Ayham, the quality of the plugin is way more important.

      Sometimes, there is actually a benefit to having more plugins, as opposed to a few large ones that do “everything.” When you isolate features inside of smaller plugins, they are easier to turn on/off if you run into compatibility issues, performance bottlenecks, etc. It can make both troubleshooting & maintenance easier.

      As long as they are all coded well, using WordPress standards, then you’re in good shape.

      What you don’t want to do, and I’ve seen this from inexperienced WordPress “experts,” is…

      • install 3 page builder plugins on the same site
      • or 2 email marketing plugins
      • or a theme that adds custom content (that’s plugin territory)
      • or 4 performance plugins that all have overlapping functionality
  6. Von

    I tried manually enrolling a user to a close course, however after enrolling it looks like the user is not completely enrolled and the button “Take this course” is still there and can’t access any lessons or topics. Is there something i missed?

    • Von,

      As I stated on my other comment, it worked for me when I tested it.

      Are you using a membership plugin? Or any other type of plugin to restrict access?

      It works if you’re just using LearnDash’s default access rules, but if you have another plugin installed that changes how access is given to users, this could be interfering with it.

  7. Hello, I’m really scratching my head with a specific problem involving Learndash + Memberpress setup. My setup is as follows:

    – Memberpress [3 x recurring subscriptions purchasable with Stripe]
    – Learndash [3 courses set to ‘Closed’]
    – LearnDash MemberPress plugin installed and active
    – Redirecting un-enrolled Users with Uncanny Owl plugin

    The problem: A handful of most recent UserIDs are being nuked from the Course Access List (not limited to any specific course). Daily occurrence. I cannot identify a pattern, it’s just anywhere between 2-5 of the most recent members that get un-enrolled, probably after a new transaction(s) in Membepress.

    I have to look at the most recent transactions every day and look at each User to see if they have been un-enrolled. I cannot identify a pattern. Course Access List for each course has been checked for character/formatting issues such as extra comma, blank space, duplicates etc)

    Have tried disabling object caching, database caching, other caching types – no difference.

    I am using NGINX + PHP 7.0-fpm

    Has anyone run into this issue and can provide some advice?

    • Hey Andrew — Sorry to hear about this issue. It sounds like a frustrating one.

      I don’t use MemberPress, so I can’t speak to it directly. And I have not heard of anyone else having this issue. Have you tried posting the LearnDash Facebook group? Maybe somewhere in there can help.

      If not, I would reach out to LD support, if you haven’t already. You’ve done all the troubleshooting tips I would recommend, so nice job with that. There could just be a bug with the LD+MemberPress integration, whereby like you said, when a purchase happens, and MP sends data to LD to insert the user into the course, it incorrectly removes other users.

      If you have a way of setting up a test site, running a test transaction yourself as a new user, and then immediately checking the Course Access List… you could try that to confirm if new transactions are the cause or not.

    • Chris Martin

      I’m having a similar problem and cannot find a solution. Andrew, did you ever find a solution to your issue? I’m thinking that it may point me in the right direction. My case is a little different… users show as enrolled in courses when looking at the assignments in the LearnDash course, and the MemberPress transactions display showing they’re not expired, and the users may access the courses… but [ld_profile] shows “No Courses found” (where it should show the course progress bar), even though the top part of the [ld_profile] section shows the course count indicator “1” (enrolled in 1 course, so “no courses found” is obviously not true). Super frustrating… used to work… now all of a sudden, it doesn’t.

    • Chris — Did you recently do an update of the MemberPress plugin? If I were you, I’d go back through all my MemberPress settings to make sure there wasn’t something in MemberPress that was preventing access to a course.

      My guess is that the number at the top of the LearnDash Profile is not being impacted by MemberPress, and LearnDash sees that the user has access to one course… but the list of courses IS being impacted by MemberPress, and thus restricting access to the course, overriding LearnDash’s access setting.

  8. Emily

    I have a question
    I have turned off the enrolled to the course feature
    But after the customer buys the course
    Have not completed payment yet
    The course is automatically enrolled and opened.
    What steps have I missed?

    • 1. What do you mean by the “enrolled to the course” feature?
      2. What are you using to sell the course? LearnDash’s PayPal feature? Stripe? WooCommerce?

      If you can provide some screenshots or more info, that’d be really helpful. There are lots of different ways to set things up, and I need more info to be able to help.

    • Emily

      I use Woocommerce to sell the course!
      Course Price Type is “close”
      and Custom Button URL is product URL
      Course Auto-enroll:no
      But after the customer buys the course
      Have not completed payment yet
      The course is automatically enrolled and opened.
      I don’t know which step is wrong.

    • Emily — If you’re using the most recent version of the WooCommerce for LearnDash add-on (1.5.0), then as soon as a customer completes their online payment, they should be auto-enrolled into the course. This is how the integration works. It should work for all online payment methods (Stripe, PayPal, etc.)

      If they’re paying via a manual or offline method (cash on delivery, check payment, direct bank transfer), then they should NOT be auto-enrolled. You’ll have to change the order status to “Completed” in order for them to gain access to the course.

  9. A quick question. I am trying to do use my own payment gateway so I am using the closed option.

    How do I auto enroll my students that way when they pay for the course it gives them the course right away?

  10. Peter

    That really helped. Thank you!

  11. Marissa

    Hi Dave! I need to design a website in which people can follow free courses without registration. I read in your article that I need to open access mode in order to do so. Unfortunately I cannot got into WordPress to see what this looks like. Do you perhaps have an example of what a course that is in open mode looks like? Thank you!

    • Hi Marissa! I do. My ldx.training site hosts the documentation for Design Upgrade Pro for LearnDash, in the form of an open LearnDash course. You can view it here.

      If you want to see what it looks like logged in, you can “buy” the Getting Started course for $0 so you’ll then have an account to use.

  12. Karim

    Hi Dave 😊 as always very helpful your posts, I’ve been using LearnDash membership and WooCommerce subscription for a while now so I give the option to buy access to all courses with a single monthly or annual subscription.

    Obviously I use type of courses CLOSE and the product url WooCommerce subscription with the du variables MONTH/YEAR.

    I have a question, I would like to add the option that members can also buy courses individually without having to do the subscription, so combining both the subscription and the one-off is possible ?

    Thanks in advance for your info 😊
    please give me an example.

  13. KIMSHA

    Hi Dave, I think you can include that “buy now” only allows you to buy a single course at a time, so if you need to add multiple courses to your school account at the same time, you will have to buy each one individually. Closed, integrated courses allow you to add multiple items to cart including maybe other products sold on the site. I like the buy now button option though, its so seamless and simple, not all these check out fields like woocommerce but as you say woocommerce etc do offer more options. Thanks. Great article.

  14. Hi Dave! I’m looking to sell my course via Etsy and redirect them back to my site to access their just-paid-for course where they’ll register an account. Should I use Free or Closed in this situation?

    I definitely don’t want other students to have access to this course. In other words, do current registered students automatically get access to courses that are set to β€œFree”?? Thank you so much! Tabitha

    • You’ll definitely want to set it to Closed. If you use Free, that means anyone visiting your site will be able to register for an account on your site and enroll in that course, free of charge.

      Currently registered users won’t automatically be enrolled in Free courses, but they will be able to go to the course page, click a button, and then they will be enrolled.

Leave a Reply

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