Skip to content
GPLWP Guides

How to create and sell online courses on WordPress

Membership & LMS Time About 2–4 hours for a basic course 6 steps Updated 14 Sep 2026

MEMBERSHIP & LMS
The short answer

You need an LMS plugin or theme for proper lessons, quizzes, enrolment and progress tracking. WooCommerce can handle payments, but it must be connected to the LMS so a successful order grants the buyer course access automatically.

The route
  1. 01Plan the course structure
  2. 02Choose the delivery route
  3. 03Install and configure the LMS
  4. 04Create the course product
  5. 05Publish the sales flow
  6. 06Test the buyer journey

What you need

  • A self-hosted WordPress site with administrator access
  • A course outline with lessons and quizzes
  • A payment account and SSL-enabled site
  • WooCommerce and an LMS system, or an education-focused LMS theme

Plan the course structure

Write the course outline before opening WordPress. Split the material into courses, modules, lessons and quizzes, then decide whether learners can move freely or must complete each step in order.

Prepare the lesson text, video files, downloads, quiz questions and completion requirements. Keep paid course content separate from your public sales page so visitors can see what they are buying without receiving the lessons for free.

Choose the delivery route

For a real course, use an LMS system. It provides course structures, learner enrolment, progress tracking, quizzes and access rules that WordPress pages do not provide on their own.

The manual route is possible for a small private library: create protected WordPress pages, sell access through a payment or membership product, and enrol users yourself. It becomes difficult to maintain when you add several courses, refunds, recurring access, quizzes or progress reports, so an LMS plugin is the safer route for a public course business.

Install and configure the LMS

Install your chosen LMS and create the course first. Add the lessons, topics or modules, then attach videos, downloads and quizzes. Set the course page title, description, featured image and completion rules.

Review the access settings carefully. Common choices include open, free, paid, recurring and closed access. If WooCommerce will handle payment, use the LMS integration's external-product or closed-access method rather than enabling a second built-in checkout for the same course.

Create the course product

Install WooCommerce, configure the required store pages and payment gateway, then create a virtual product for each course or bundle. Add the price, tax settings, refund policy and customer emails.

Link the WooCommerce product to the matching course in the LMS integration. The connection should grant access only after the appropriate order status is reached. Buyers normally need a WordPress account so the order can be matched to their enrolment.

Publish the sales flow

Create a public sales page with the learning outcomes, syllabus, target audience, prerequisites, course length, support details and a clear purchase button. Link that button to the product or checkout page, not directly to protected lesson content.

If you sell a subscription, configure what happens when a subscription expires or is cancelled. If you pre-sell a course, set a future start date and explain when access begins; paid learners can be enrolled before the lessons become available.

Test the buyer journey

Place a test order with a separate customer account. Confirm that checkout creates or uses the right account, the order reaches the intended status, the learner receives the correct email and the course appears in their dashboard.

Open the site as the test learner and check that unpaid users cannot read protected lessons, completed lessons update progress, quizzes record results and refunds or cancelled subscriptions remove access when intended. A common failure is a product linked to the wrong course or an order status that does not trigger enrolment; correct that before launch.

The fast route

Let Edumoon do it

Education-focused LMS theme with course management, quizzes, progress tracking, analytics, and WooCommerce support for selling courses.

Get Edumoon

Sources

  1. learndash.com /support/kb/add-ons/courses/courses/?utm_source=openai
  2. learndash.com /support/kb/core/courses/course-enrollment-mode/?utm_source=…
  3. learndash.com /support/kb/non-knowledgebase/woocommerce-add-on/woocommerce…

Questions

Can WordPress sell online courses without a plugin?
WordPress can publish lesson pages, but it cannot provide a complete course system by itself. You can take payment and manually grant access for a small private project, but automated enrolment, quizzes, progress tracking and restricted lessons require an LMS, membership or access-control plugin.
Do I need WooCommerce to sell a WordPress course?
No, you do not always need WooCommerce, because some LMS systems include their own payment options or integrate with other commerce tools. WooCommerce is useful when you need a full shop, several payment gateways, subscriptions, coupons or bundles, provided it is correctly connected to the LMS.
Why did a customer pay but not receive course access?
The usual causes are a missing product-to-course connection, an order status that does not grant enrolment, checkout not creating a customer account, or a mismatch between the buyer's email and WordPress account. Check the integration settings, order status and learner account before manually enrolling the customer.
Can I sell a course as a subscription?
Yes, if your LMS and commerce setup support recurring payments. Connect the subscription product to the course and decide whether access ends when the subscription expires or is cancelled. Test a failed renewal and cancellation as well as the first payment, because access rules can differ between those order states.