Skip to content
GPLWP Guides

How to sell online courses in WooCommerce

Membership & LMS Time About 30–60 minutes for one course 6 steps Updated 4 Sep 2026

MEMBERSHIP & LMS
The short answer

WooCommerce does not enrol students in LearnDash by itself. You need the LearnDash WooCommerce integration, then link each course to a virtual WooCommerce product and grant access after successful payment. For a small site, LearnDash’s own payment options may be simpler than adding a shop.

The route
  1. 01Plan the course purchase flow
  2. 02Configure the LearnDash course
  3. 03Install the WooCommerce integration
  4. 04Create a virtual course product
  5. 05Link the product to the course
  6. 06Set access rules and test payment

What you need

  • A WordPress site with LearnDash and WooCommerce installed
  • A published LearnDash course
  • A configured WooCommerce payment gateway
  • Administrator access to WordPress
  • An email delivery method that can send account and order messages

Plan the course purchase flow

Decide whether customers will buy one course, a bundle of courses, or a recurring subscription. Create the course and its lessons in LearnDash first, and decide whether access starts immediately or follows a start date.

If you only need to sell individual courses, LearnDash’s built-in paid access options may be enough. Choose WooCommerce when you need a shop, cart, coupons, multiple gateways, variable products or other WooCommerce extensions. LearnDash supports paid access settings including start dates, end dates and student limits.

Configure the LearnDash course

Open the course’s access settings and set the course to use the WooCommerce purchase route rather than open or free access. Check the course title, description, lessons, completion rules and visibility before connecting it to a product.

Do not leave the course open while testing the shop. An open course can make it look as though the purchase worked because logged-in users can access content without being enrolled through the order.

Install the WooCommerce integration

Install and activate WooCommerce, LearnDash and the LearnDash WooCommerce integration. In the WordPress dashboard, open the LearnDash WooCommerce settings and review the available order and subscription statuses.

The integration connects WooCommerce products with LearnDash courses or groups. If you use recurring payments, add the supported WooCommerce subscription extension and decide which subscription statuses grant or remove access. Customers must create an account during checkout so the order can be matched to a LearnDash enrolment.

Create a virtual course product

Go to WooCommerce > Products > Add product. Add the course name, sales copy, image and price, then mark the product as Virtual so WooCommerce does not request shipping details. You normally do not need to mark a course product as Downloadable unless you are also delivering files.

Choose the appropriate simple or variable product type. Variable products are useful for different course levels or bundles, but each variation needs its own price and virtual settings.

Link the product to the course

Edit the WooCommerce product and use the LearnDash integration field to associate it with the relevant course or group. Save the product, then confirm that the course’s purchase button or landing page sends customers to the correct product or cart URL.

Do not link only the product page in your marketing copy and assume enrolment will happen. The course association is what tells the integration which course to grant after the order reaches an allowed status. A mismatched product, course or user account is a common reason buyers pay but see no access.

Set access rules and test payment

In the LearnDash WooCommerce enrollment settings, review which WooCommerce order statuses grant access and which statuses remove it. For a normal one-off course, access is usually granted after a successful payment status. For subscriptions, test renewal, failed-payment and cancellation behaviour as well.

Place a real test order using a test gateway or a low-risk internal product. Confirm that an account is created, the order reaches the expected status, the student appears in the course and the course is visible under their account. If access is missing, check the product-course association, the customer’s WordPress email and the order status. LearnDash also provides a retroactive access tool under WooCommerce > Status > Tools for correcting enrolments after the configuration is fixed.

Fast way: use the LearnDash LMS WooCommerce Integration Addon, create a virtual WooCommerce product for each course, associate the product with the course, and use the integration’s enrolment-status settings. It avoids manually matching orders to students while retaining WooCommerce checkout and payment gateways.

The fast route

Let LearnDash LMS WooCommerce Integration Addon do it

Connects LearnDash enrollment to WooCommerce purchases, ideal when selling courses through familiar product pages and payment gateways.

Get LearnDash LMS WooCommerce Integration Addon

Sources

  1. learndash.com /support/kb/core/courses/course-enrollment-mode/?utm_source=…
  2. learndash.com /support/kb/add-ons/woocommerce-add-on/woocommerce-integrati…
  3. woocommerce.com /document/managing-products/virtual-downloadable/?utm_source…

Questions

Can WooCommerce sell a LearnDash course without an integration?
No, WooCommerce can take payment for a product but it does not know which LearnDash course to enrol automatically. Without an integration, you must manually enrol buyers after checking orders or build a custom connection. LearnDash’s own paid access options are the simpler alternative when you do not need WooCommerce features.
Should a course product be virtual or downloadable?
Mark a course product as Virtual because it has no physical delivery. Mark it as Downloadable only when the purchase also includes files such as workbooks or audio. A virtual product removes shipping-related fields and prevents WooCommerce from calculating delivery charges.
Why did a customer pay but not receive course access?
The usual causes are an unlinked product, an order status that does not grant access, checkout completed with a different email account, or the course still using the wrong access mode. Check the order customer, product association and enrolment-status rules first, then run LearnDash’s retroactive access tool after correcting the settings.
Can I sell course bundles or subscriptions with WooCommerce?
Yes. Link one WooCommerce product to several LearnDash courses or groups for a bundle, and use variable products when customers need different purchasing options. Subscription access requires the relevant WooCommerce subscription extension and careful rules for renewal, failed payment and cancellation statuses.