LearnDash is one of the best ways to build online courses on WordPress. But building a great course is only half the job. You also need a smooth way to take payments, offer discounts, and give students access the moment they pay.
That is where the LearnDash WooCommerce integration comes in. With one free add-on, WooCommerce handles the cart, checkout, and payment gateways, while LearnDash handles lessons, quizzes, and progress. Each paid order automatically enrolls the student in the right course.
In this guide, we will show you exactly how to sell online courses with WordPress using LearnDash and WooCommerce, step by step. It is the same setup we use for client course platforms at WooDigitals.
Why Sell LearnDash Courses Through WooCommerce?
LearnDash has its own built-in payment buttons for Stripe and PayPal. They work well for a single simple course. But once you want more control over how you sell, WooCommerce gives you a lot more room to grow:
- Any payment gateway: Stripe, PayPal, Square, local bank gateways and hundreds more. This matters if Stripe is not available in your country.
- Coupons and sales: Percentage discounts, fixed discounts, limited-time sale prices and coupon codes for launches.
- Course bundles: Attach several courses to one product and sell them as a package.
- Subscriptions: Sell monthly or yearly access with the WooCommerce Subscriptions extension.
- Sell physical items too: Workbooks, merch or event tickets in the same cart as your course.
- Better checkout: Order bumps, upsells, tax rules, invoices and order emails your students already trust.
In short, LearnDash runs the classroom and WooCommerce runs the shop.
How the LearnDash WooCommerce Integration Works

The idea is simple. You create a WooCommerce product and link it to a LearnDash course. When a customer buys that product and the order is marked Completed, the WooCommerce for LearnDash add-on enrolls them in the course. If the order is refunded or cancelled, access is removed automatically.
What You Need Before You Start
- A WordPress site with SSL (https) enabled
- LearnDash LMS installed with an active license
- WooCommerce installed, with its setup wizard completed
- The free WooCommerce for LearnDash add-on
- At least one payment gateway (for example Stripe or PayPal)
- At least one published LearnDash course
Tip: Take a full backup before installing new plugins on a live site. If you are not sure how, our WordPress maintenance plans include daily backups.
Step 1: Install and Set Up WooCommerce
Go to Plugins → Add New, search for WooCommerce, then install and activate it. The setup wizard will ask for your store address, currency and the type of products you sell. Choose your currency carefully, because your course prices will use it.
Next, go to WooCommerce → Settings → Payments and enable at least one payment method. Turn on test mode for now so you can try a purchase later without real money.
Step 2: Install the WooCommerce for LearnDash Add-on
The add-on is free for LearnDash license holders. You can install it in two ways:
- From your dashboard: Go to LearnDash LMS → Add-ons, find WooCommerce for LearnDash and click Install, then Activate. This needs an active LearnDash license.
- Manual upload: Download the add-on .zip from your LearnDash account, then go to Plugins → Add New → Upload Plugin.
Once it is active, you will see new LearnDash fields inside the WooCommerce product editor.
Step 3: Create (or Prepare) Your LearnDash Course
If your course is not built yet, go to LearnDash LMS → Courses → Add New. Add a clear title, a short description of what students will learn, and then build your lessons, topics and quizzes in the Builder tab.
Write the course page like a sales page. List the outcomes, who it is for, what is included, and a short instructor bio. This page is often the first thing a buyer sees.
Step 4: Create a WooCommerce Product and Link the Course

Now create the product people will actually buy:
- Go to Products → Add New.
- Use the course name as the product title and add a short, benefit-focused description.
- In the Product data box, choose Course from the product type dropdown. You can also use Simple product, which works too.
- Set the Regular price. Add a Sale price if you are running a launch offer.
- In the LearnDash Courses field, select the course (or courses) this product unlocks.
- Use LearnDash Groups instead if you sell team or company access.
- For a digital-only course, tick Virtual so no shipping is charged.
- Add a product image and publish.
Selling a bundle? Simply add several courses to the LearnDash Courses field of one product. The student gets enrolled in all of them after a single purchase.
Step 5: Set the Course to Closed and Add the Button URL

Next, go back to your course in LearnDash LMS → Courses and open the Settings tab:
- Set Access Mode to Closed. This means nobody can enter the course unless they are enrolled, in this case by buying the product.
- Enter the Course Price so it shows on the course page.
- In Button URL, paste a direct add-to-cart link:
https://yoursite.com/checkout/?add-to-cart=123
Replace 123 with your WooCommerce product ID. You can find it by hovering over the product in Products → All Products. Now, when a visitor clicks Take this Course, the product is added to their cart and they land straight on checkout. Fewer clicks usually means more sales.
Step 6: Fine-Tune Checkout for Course Buyers
A few small settings make a big difference for online courses:
- Require an account: Students need a WordPress account to access the course. In WooCommerce → Settings → Accounts & Privacy, allow account creation during checkout, and do not let course buyers check out as guests.
- Auto-complete orders: Virtual products paid by card usually complete on their own. If your orders get stuck in Processing, students will not get access, so check your gateway settings or use an auto-complete plugin.
- Enrollment status: In LearnDash LMS → WooCommerce, review the enrollment options so access matches your order statuses.
- Coupons: Create launch codes in Marketing → Coupons to reward early students or email subscribers.
- Subscriptions: For monthly access, install WooCommerce Subscriptions and create a subscription product linked to the course. When a subscription expires or is cancelled, access is removed.
- Speed: A slow checkout loses buyers. If you built your pages with Elementor, see our guide on how to speed up an Elementor website.
Step 7: Test the Full Purchase Before You Launch

Never launch without a test purchase. Open an incognito window and buy your own course with your gateway in test mode. Then check:
- The order shows Completed in WooCommerce → Orders
- The test student is enrolled in the right course
- The welcome email and course link arrive
- A coupon applies the correct discount
- A refund removes course access
- Checkout and course pages work well on mobile
When everything passes, switch your gateway to live mode and start promoting.
Common Problems (and Quick Fixes)
| Problem | Likely cause | Fix |
|---|---|---|
| Student paid but cannot access the course | Order is stuck in Processing or On hold | Complete the order, or set virtual orders to auto-complete |
| Take this Course button goes to the wrong page | Wrong or missing Button URL | Use the add-to-cart link with the correct product ID |
| Student is enrolled in the wrong course | Wrong course selected on the product | Edit the product and fix the LearnDash Courses field |
| Access is not removed after a refund | Refund done outside WooCommerce | Refund through the WooCommerce order screen |
| Buyer has no account after paying | Guest checkout is enabled | Require account creation at checkout |
Real Example: A LearnDash Membership Platform with WooCommerce
For Elite Football Scouting, WooDigitals built a complete learning and membership platform. LearnDash powers the courses, WooCommerce handles secure payments, and membership levels control which content each student can see. Students sign up, pay, and start learning without any extra steps, and the platform has grown past 1,700 enrolled students.
Final Thoughts
The LearnDash WooCommerce integration gives you the best of both worlds: a powerful LMS for teaching and a flexible store for selling. Install the free add-on, link each course to a product, close the course, point the button to checkout, and test before you launch. That is all it takes to start selling online courses on your own WordPress site.
Need help building your course platform? WooDigitals builds LearnDash course websites with WooCommerce payments, memberships and fast, mobile-friendly design. Get a free quote and we will reply within one business day.
Frequently Asked Questions
Is the WooCommerce for LearnDash add-on free?
Yes. It is free for anyone with an active LearnDash license. You install it from LearnDash LMS → Add-ons or download it from your LearnDash account.
Can I sell several LearnDash courses as one bundle?
Yes. Add multiple courses to the LearnDash Courses field of a single WooCommerce product. One purchase enrolls the student in all of them.
Can I sell monthly or yearly course subscriptions?
Yes. Install WooCommerce Subscriptions and link a subscription product to your course. Access stays active while the subscription is active and is removed when it ends.
Which payment gateways can I use?
Any gateway that works with WooCommerce, including Stripe, PayPal, Square and many local gateways. This is a big advantage if Stripe is not available in your country.
Why didn’t my student get access after paying?
Most often the order is still Processing or On hold. Access is granted when the order is Completed, so complete the order or set virtual orders to complete automatically.