LearnDash with woocommerce & Elementor

learndash woocommerce and elementor

We recently completed a web design project using the LearnDash Learning Management system (also known as an LMS). LearnDash is a plugin that gives WordPress the power to become an online learning portal, with all the features you would expect of a full featured LMS: courses, quizzes, assignments, prerequisites. etc.

Students are given the ability to log in to their course and work through own account. Upon completion students can be awarded with badges, certificates and course points.

There are a lot of features offered in this LMS and their website located at www.learndash.com is very professional in appearance and explains their extensive feature list in a clear and impressive way. We have worked with LearnDash on several projects over the years but it had been quite some time since our last project so we were excited to see what had improved and how it performed in the current environment. 

Overall, LearnDash does get the job done. However, what we found is that it is not as flexible or feature rich as you would expect from a plugin at this price point. Also the extremely professional look and feel of their website isn’t represented as much as we’d hoped when it came to the plugin itself. 

Core LearnDash Set up

When it came to LearnDash itself, as long as you stayed within the basics and didn’t require anything unusual everything was fine. Stick to their step by step documentation and everything works out. But very few if any projects are like this and overall our experience with LearnDash was that when you needed something even slightly off the beaten path things got confusing and documentation didn’t cover anything outside the most basic of set ups. 


The built in drag and drop modules provided by LearnDash are the bare minimum to get the job done. Not only are the variety of modules lacking but the options within each module is basic. For example, the “Course List” module provides a list of posts (courses) which is one of WordPress’s strongest points. In the LearnDash Course List Module it gives you two standard options for layout; grid or list. So far so good… 

The grid option comes with the option to show a featured image, short description, and a button link. It also gives you the ability to change the number of columns per grid. And that’s about it which doesn’t cover a lot of common use cases. Just as an example, there is no ability to add the date of the course, which is a problem if you have recurring courses of the same type on different dates! Custom work is required.

The list layout option would be expected to have the same set of information available as the grid layout: a featured image, description, and button to learn more. But the list option only gives you the title of the course as a button and stacks the links vertically. So disappointing considering the list layout of posts is a core aspect of WordPress itself. It just makes no sense that a post list wouldn’t include the same set of data as grid. 

In the end, it made more sense to create a custom template to display the courses rather than rely on the built in LearnDash modules. They just didn’t look professional enough and easily show the relevant extra information to be used in this latest project. 


The good news is that LearnDash works great with Elementor. Elementor allows LearnDash to do a lot more than it could otherwise with the power of the templates and extra modules. Without Elementor we would have struggled to achieve the layouts desired. So this is more of props to Elementor than LearnDash, but we wanted to note that the integration between Elementor and LearnDash is perfect and conflict free. 

LearnDash with Woocommerce

Overall the process of integrating LearnDash with Woocommerce is another case of “gets the job done”,  but there was a lot of loose ends and confusing UI issues when it came to these two working together. A non-developer would struggle to get through the process of LearnDash and Woocommerce working together in a user friendly way. 

For example, after enabling Woocommerce the emails in LearnDash settings appear to still be active and are still completely editable , but the Woocommerce emails take precedent so any changes in the LearnDash emails have no affect to the email notifications sent out during the checkout and order status processes. Manually disabling the emails in LearnDash will at least keep clients from becoming confused about where to edit the correct emails. This pattern of lack of clarity continues as you bounce back and forth between LearnDash settings and Woocommerce settings. Trial and error are your best friend as you tediously figure out how things work together, or don’t. 

Same thing with LearnDash payment gateways. They remain available in the learndash settings and still give notifications in the dashboard even when they are not functional on the frond end due to woocommerce payment gateways taking precedence. Confusing to be sure. Ideally, these settings could be greyed out once Woocommerce payment gateways were activated.

One specific stumbling block we hope can save heaps of confusion and wasted money is in the initial set up of product type for courses. When a Woocommerce product is created as a “Course” type of product most of the features you would expect to be available for any Woocommerce product simply aren’t there. In the LearnDash documentation it is explained as the first step in connecting your course to a product is to choose the “Course” product type . But if you do this you will not have any ability to limit the number of available seats in your course! ie. there will be no stock management. We searched google for answers and all our paths lead to paid extensions from third party companies. Even on the LearnDash website itself it advertises in its Add Ons page the feature of limiting seats per course is to use a third party company and LearnDash even provide sdirect links for purchase of this Add On from their own website. This just seems loony to disable a built in feature of Woocommerce that is s a core aspect of selling anything online. In the end, just before we cracked and purchased the third party extension we asked their support team why this wasn’t possible. Their answer was that all we had to do was change the product type from “Course” to “Single Product” (default Woocommerce product type) and the inventory feature would come back with no changes to the features available if you had chosen “Course”! So at this point you may wonder why they even have a “Course” type product in the first place if the only thing it does is removes the ability to limit inventory / number of seats available for a course? We wonder the same thing. Makes no sense. And that’s really the best way to sum up many the stumbling blocks  when working with LearnDash and Woocommerce together. The problems and/or the solutions often just don’t make much sense. 

Integrating LearnDash’s account page with Woocommerce account page could be a whole article in itself and a professional WordPress developer is definitely needed. Custom CSS, Elementor templates, Woocommerce and LearnDash shortcodes and custom php snippets inserted via a child theme… In the end it works great, but it took more work than expected for a premium plugin. 

LearnDash Support

LearnDash support’s email ticket system had the usual 24-72 hour response time to be expected. Their support team was helpful and cared about our questions. When we had concerns about the functionality, they were pro-active in passing our input to their dev team for future improvements. Overall we had a very positive experience with LearnDash support.

LearnDash has a series of video tutorials which were outdated and contained examples of code that didn’t work. Code referenced was not available in an easy to copy and paste format. In the video comments were dozens of frustrated users with questions ignored by LearnDash support. 

LearnDash Documentation itself is ok. As said earlier, as long as you stick to their steps like glue and your website matches their example everything will be fine. But in the real world, you will find yourself on paths unknown and no documentation of relevance will be available. LearnDash’s email support fills this gap but then you have the back and forth waiting time to get the information needed to move forward, slowing down the project. 

Final Thoughts on Working with LearnDash LMS

No plugin is perfect and should be expected to work perfectly out of the box for all websites, especially when integrating it with a beast of a plugin like Woocommerce. Woocommerce and LearnDash also have a tonne of overlap in the features offered so there’s lots of room for confusion as to where things should be managed from. 

As an LMS, LearnDash gets the job done and is a perfectly acceptable choice for many projects. It works great with Elementor. For basic LMS projects i would recommend LearnDash and look forward to working with it more in the future. However, I would not recommend integrating it with Woocommerce if you’re not an experienced web developer. And, if you are integrating LearnDash with Woocommerce we hope that the problems/solutions discussed in this article will save you some time and effort.

In the end all we can do is laugh, learn and continue helping our clients with their e-learning projects. It won’t be long before we are diving in once again on a LearnDash project I’m sure. 

The comical part of is the dramatic contrast between the LearnDash website and it’s professional, aesthetic, easy to use interface compared to the actual plugin itself. The LearnDash team needs to spend more time working on the plugin itself than the website selling the plugin. Hopefully any negativity in this post will be seen as constructive criticism and a chance for us all to learn and grow together. 

LearnDash has a tonne of potential and we are looking forward to working with it more in the future.


Related Posts