One thing LearnDash cannot do out of the box is sell access to Groups via WooCommerce.
A Group in LearnDash, amongst other things, let’s you assign a group of courses to a group of users. You can add courses over time and those users will automatically get access.
To do this I setup a new Group in LearnDash called “Master Course” and added my new smaller courses to it. I also created a new WooCommerce Virtual Product called “Master Course.”
Then I simply added this code to my functions.php:
Here is what this code does:
Hook into WooCommerce when an order is marked complete
Checks to see if that order includes my Master Course WooCommerce product
If so, it adds that user who purchased the product to my LearnDash group
It’s pretty simple and shows the power of hooks in WordPress.
To customize this for your own use you would have to add the Group and Product IDs to the corresponding variables on line 5 and 7.
One thing this doesn’t do is remove a person from a group if they cancel or are refunded the order, since this is something I wanted to do manually. However, you could easily do this by hooking into the woocommerce_order_status_cancelled or woocommerce_order_status_refunded hooks.
A big thanks to Justin from LearnDash and Ernest from UncannyOwl, who is working on a plugin that will also allow for this functionality.
A lot of folks have asked me content related questions about the course, but this is the first time I really go in depth about actually building the course, from researching content, to building a team, to picking an LMS, all the plugins I used and several of the snags I hit.
It was really fun to talk about all of this and I share a lot of information. If you’re interested in how things are built and the behind the scenes technologies, I would definitely recommend listening to this episode.
Students may particularly appreciate what has gone into the course.
One of the tricks of using WooCommerce and LearnDash together is that you can build your courses separately from your WooCommerce products.
This is helpful for creating bundles that automatically grant access to individual or multiple courses. In my Master Course I have it broken down into four parts, which are really individual courses behind the scenes.
Then after you create your Courses in LearnDash, create a Product in WooCommerce you will have an option to select Related Courses.
You will also want to go into WooCommerce Settings > Accounts and make sure to enable “Enable registration on the Checkout page.”
With this configured, when someone purchases the course via WooCommerce on the front-end and creates an account during checkout they will automatically have access to the Related Courses you selected for the product.
You can check this by clicking on a User account and looking at the course access. Mine says Parts but yours will probably say Courses.
I have been quite happy with this combination of WooCommerce and LearnDash for selling my courses since WooCommerce allows me to customize the selling process quite a bit.
I will also add that you will likely want to customize your WooCommerce Emails to include welcome information about the course in addition to the default information.
Hopefully this helps you get up and running selling online courses using LearnDash and WooCommerce.