Add-Ons

In this article

Add-Ons

Official add-ons are created & managed by LearnDash, and are free for active LearnDash license holders. For additional add-ons (both free and paid) that are not managed by LearnDash, see this list of 3rd party add-ons.

LearnDash provides support for the official add-ons listed below:

2Checkout Integration

The LearnDash 2Checkout integration is one of several options for selling your courses. If you already have a 2Checkout account, or you like what their payment gateway has to offer, you can use this integration to sell courses on your LearnDash site.

NOTE
You will need to register for a free 2Checkout account before you can use this integration.

The 2Checkout integration will allow you to sell courses, but it doesn’t come with a lot of flexibility. If you’re looking for more robust member management, a customizable checkout experience or integrations with other WordPress plugins or services, check out our ecommerce & membership add-ons.

For other simple ways to accept payments, consider our built-in PayPal integration or the free Stripe add-on.

Table of Contents [show]

Who Should Use the 2Checkout Integration?

You should consider using the 2Checkout integration if:

✅ you’re looking for a quick & easy way to start selling courses
✅ you want to use the 2Checkout payment gateway

You might not want to use the 2Checkout integration if:

❌ you want to customize the user’s checkout experience
❌ you are creating a fully functional membership site
❌ you’re selling other products in addition to courses
❌ you want to closely manage the account creation & login process

Sign Up for a 2Checkout Account

  • Navigate to 2checkout.com and follow the instructions for registering a new account
  • Once your account is set up, you can navigate to secure.2checkout.com to access your account settings, as well as the information you’ll need to set up the LearnDash integration

Install the 2Checkout Integration

Option 1: Add-ons Menu (requires an active LearnDash license)

  1. In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
  2. Locate the 2Checkout for LearnDash add-on
  3. Click Install Now
  4. Click the Activate Plugin button

LearnDash 2Checkout plugin card

Option 2: Manual Upload

  1. Download the plugin file (must be logged in to download)
  2. In WordPress, navigate to PLUGINS > ADD NEW
  3. Click Upload Plugin
  4. Browse for the .zip file you downloaded in Step 1
  5. Click Install Now
  6. Click Activate Plugin

2Checkout Settings

To finish setting up the integration, there are a few pieces of information you’ll need to provide to LearnDash. Let’s walk through each one, and show you where to find the information in your 2Checkout account.

All the information you need can be found in your 2Checkout Dashboard.

Enable Instant Notification System (INS)

  1. In 2Checkout, navigate to Integrations > Webhooks & API
  2. Scroll to the Instant Notification System (INS) section
  3. Check the box to enable INS
  4. Click Update

Enable INS in 2Checkout

Merchant Code

To locate your merchant code in 2Checkout:

  1. Still on the Integrations > Webhooks & API page
  2. Under the API section, you’ll find your Merchant Code

2Checkout Merchant Code in dashboard

INS Secret Word

To locate your INS secret word in 2Checkout:

  1. Still on the Integrations > Webhooks & API page
  2. Under the Secret Word section, you’ll find your INS secret word

2Checkout INS secret word


Now you’ll switch over to your WordPress admin area to enter the information.

  1. Navigate to LEARNDASH LMS > SETTINGS
  2. Click the 2Checkout Settings tab at the top
  3. Enter your merchant code & INS secret word from above

Approved URL (Header Redirect)

This one is a little different. You actually have to provide the approved URL to 2Checkout.

2Checkout URL redirect

  1. Copy the URL that is displayed in the box
  2. Navigate your 2Checkout Dashboard
  3. Go to the Integrations > Webhooks & API page
  4. Find the Redirect URL section
  5. Check the box to Enable return after sale
  6. Paste the URL in the Approved URL box
  7. In the Return Method dropdown, choose Header redirect
  8. Click Update

Demo Mode

Enable demo mode if you’d like to perform a test transaction, without any money exchanging hands.

After you’ve confirmed everything is working properly, you’ll want to disable this to begin receiving actual payments on your live site.

Course Configuration

After you’ve configured your 2Checkout for LearnDash settings, the final thing you need to do is set up your course to accept payments.

  1. In the WordPress admin area, navigate to LEARNDASH LMS > COURSES
  2. Click on the course you’d like to sell with 2Checkout
  3. Click on Settings at the top
  4. Scroll down to Course Access Settings
  5. Set the “Access Mode” to one of two values:
  • Buy Now: Use “Buy Now” for one-time payments
  • Recurring: Use “Recurring” if you’d like to set up a recurring payment (aka: subscription)

And finally, enter your price in the Course Price field. Ex: 29.99

  • The currency symbol will be added automatically for you
  • If your price is an even dollar amount, you may omit the decimal point & cents (ex: 29)

For recurring payments, you need to include the “Billing Cycle” in days, weeks, months or years.

Setting price on Buy Now course in LearnDash

The User Experience

Now when a user navigates to your course page, and they click the “Take this Course” button, they will be redirected to 2Checkout to complete their purchase.

After payment is complete, a new user account is automatically created, and that user is enrolled into the course they just purchased.

FAQ

Does 2Checkout support payments in my country?
Please reference 2Checkout’s list of supported countries.

How do I issue refunds and/or cancel subscriptions for my customers?
Issuing refunds and canceling subscriptions is done from your 2Checkout account, not from LearnDash or this add-on.

Are users automatically removed from a course if they are issued a refund?
No. You can remove the course access from their profile.

bbPress Integration

The LearnDash bbPress integration creates the ability for you to link bbPress forums to LearnDash courses. When you associate a forum with a course, any student who has access to that course will be able to post in the corresponding forum. There are a few options which we’ll discuss below.

NOTE
You need to have both the LearnDash and bbPress plugins installed & activated before you can activate the “bbPress for LearnDash” plugin.

Table of Contents [show]

Installation

Option 1: Add-ons Menu (requires an active LearnDash license)

  1. In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
  2. Locate the bbPress for LearnDash add-on
  3. Click Install Now
  4. Click the Activate Plugin button

bbPress LearnDash integration plugin card

Option 2: Manual Upload

  1. Download the plugin file (must be logged in to download)
  2. In WordPress, navigate to PLUGINS > ADD NEW
  3. Click Upload Plugin
  4. Browse for the .zip file you downloaded in Step 1
  5. Click Install Now
  6. Click Activate Plugin

How it Works

Before you can associate a forum with a course, you’ll need to create a new forum in bbPress. If you’ve already done this, you can skip this step.

We’re also assuming you have already created a LearnDash course. You will need at least one course to set up this integration.

Create a Forum

  1. Navigate to FORUMS > NEW FORUM
  2. Give your forum a title
  3. (optional) Write an intro message & adjust the forum attributes (type, status, visibility, etc.)

Associate Forums with Courses

Now it’s time to associate a forum with a course.

  1. On the Edit Forum page, scroll down to the LearnDash bbPress Settingsbox
  2. Under Associated Course(s), click on a course to associate it with that forum
    NOTE: You may select one or more courses. Hold down the CTRL key (CMD on Mac) to select multiple courses.
  3. If you select multiple courses by mistake, you can use the “Clear All” button to start over

bbPress Learndash, associate a course

Once you’ve selected a course (or courses), be sure to publish or update your forum.

Now any user who has access to that course will also have access to the forum. If a user is not part of the course, they will not be allowed to view or post in the forum.

That’s all that’s needed to set up the integration, however, let’s take a look at a few additional options.

Additional Options

Post Limit Access

This only applies if you’ve associated more than one course with the forum. There are two ways you can decide who has access to the forum:

  • All (default): Users must have access to all selected courses in order to post in the forum
  • Any: Users only need to have access to one of the selected courses in order to post in the forum

bbPress LearnDash, post limit access option

Message Shown to Users with No Access

This is where you can customize the message shown to users who do not have access to the forum. By default, the message reads:

This forum is restricted to members of the associated course(s).

You can customize this message to include a link to purchase the course, or any other message you’d like. Basic HTML is supported.

Forum View

If you’d like for non-enrolled users to view forum threads & topics, but not be able to post replies, check this box.

Enabling this option will disregard the message above. Non-enrolled users will see the forum and all of it’s topics, but will not be able to post or reply.

Course Forum Widget

The bbPress LearnDash integration also adds a Course Forum widget that you can use in any sidebar.

bbPress LearnDash course forum widget

The widget will automatically detect which course is currently being viewed, and display a link to the associated forum for that course.

  • A forum link is also displayed when viewing any lesson, topic or quiz within the associated course
  • If no forum has been associated with the course, no link will be displayed

Add a Course Forum Widget

  1. Navigate to APPEARANCE > WIDGETS, or click on the Widgets panel in the WordPress Customizer
  2. Add the Course Forum widget to any sidebar location
  3. (optional) Give the widget a title
  4. Click the Save button

Course Grid Add-On

The LearnDash Course Grid add-on can be used to display your courses in a grid format. It also comes with a few additional display options that are not available out-of-the-box with LearnDash. This article will explain how to use it, and then walk through all the available options for customizing your course grid.

NOTE
This add-on can be used to display lessons, topics or quizzes in a grid, as well. Learn more »

Table of Contents [show]

Features

First, let’s take a look at what the course grid can and cannot do.

FeatureIncluded?
Included
Display Courses in Columns
Customize Number & Sort Order of Courses
Filter Courses by Category or Tag
Show Only Enrolled Courses
Show/Hide Course Image
Include a Video Preview
Include a Short Description
Include a CTA Button
Customize Button Text
Include a Price Ribbon
Customize Ribbon Text
Show/Hide Course Progress Bar
Unlimited Usage
(multiple times per page, multiple pages)
Not Included
Search Courses

Now we’ll show you how to install the Course Grid add-on, and then cover the two different ways it can be added to your site.

Installation

Option 1: Add-ons Menu (requires an active LearnDash license)

  1. In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
  2. Locate the LearnDash Course Grid add-on
  3. Click Install Now
  4. Click the Activate Plugin button

LearnDash Course Grid plugin card

Option 2: Manual Upload

  1. Download the plugin file (must be logged in to download)
  2. In WordPress, navigate to PLUGINS > ADD NEW
  3. Click Upload Plugin
  4. Browse for the .zip file you downloaded in Step 1
  5. Click Install Now
  6. Click Activate Plugin

Using the Course Grid

There are two ways in which you can add a grid to any page on your LearnDash site:

  • Shortcode: Best for those using page builder plugins (Elementor, Beaver Builder, Divi, etc.) or the WordPress Classic Editor
  • Block: Only for those using the latest version of the editor in WordPress 5.0+ (aka: Gutenberg)

DEVELOPERS
You can also add the course grid shortcode to your theme files via the do_shortcode() function.

Shortcode

The shortcode to insert a course grid looks like this:

[ld_course_list]

The default options for the course grid will display your courses in 3 columns, and include:

  • Featured image (if it exists)
  • Course title
  • Short description (if it exists)
  • Button
  • Ribbon

LearnDash course grid with default options

Please see the options table below for the many ways in which to customize the course grid.

Block

Blocks are only available if you’re using the latest WordPress editor that shipped with WordPress 5.0 (aka: Gutenberg).

You have all the same features & options as the shortcode provides, but the “LearnDash Course List” block makes it even easier to insert and customize your grid.

How to add a LearnDash course grid block

To add a course grid block:

  1. Make sure the “LearnDash Course Grid” plugin is installed & activated
  2. Click the + icon to add a new block
  3. Search for “LearnDash Course List” & click on the block to insert it
  4. Adjust your settings in the Block options panel

Options (Parameters)

The following options are available to customize the output of your LearnDash course grid. Multiple parameters can be used at the same time, in any order. Mix & match them to create the perfect course grid for your site.

Gutenberg Blocks
The options listed below show you how to use them with the [ld_course_list]shortcode, but if you’re using blocks, all the same options are available in the editor sidebar via input boxes & switches.

FeatureDescriptionParameterPossible
Values
Grid ColumnsNumber of columns your grid will have on large screens.col="4"123456
Progress BarA visual indicator of a student’s current progress in each course.progress_bar="true"true
Number of CoursesHow many courses will be displayed in your grid.num="10"any integer
Course SortingHow to sort the courses in your grid.orderby="title"title
ID
date
modified
menu_order
rand
…and more
Order of SortingThe sort order for the “orderby” parameter.order="ASC"ASC
DESC
Hide ContentHide the title, description & button.show_content="false"false
Hide ThumbnailHide the thumbnail image.show_thumbnail="false"false
My CoursesShows only the courses in which the current user is enrolled.mycourses="true"true
Not-Enrolled CoursesShows only the courses in which the current user is NOT enrolled.mycourses="not-enrolled"not-enrolled
If using LearnDash categories & tags…
Course Category IDShows only courses in the specified LearnDash category. Use the category ID.course_cat="10"any course category ID
Course Category Name/SlugShows only courses in the specified LearnDash category. Use the category slug.course_category_name="math"any course category slug
Course Tag IDShows only courses tagged with the specified LearnDash tag. Use the tag ID.course_tag_id="10"any course tag ID
Course Tag Name/SlugShows only courses tagged with the specified LearnDash tag. Use the tag slug.course_tag="math"any course tag slug
Course Category SelectorAdds a dropdown menu to filter the course grid by course category.course_categoryselector="true"true
If using WordPress categories & tags…
WordPress Category IDShows only courses in the specified WordPress category. Use the category ID.cat="10"any WordPress category ID
WordPress Category Name/SlugShows only courses in the specified WordPress category. Use the category slug.category_name="math"any WordPress category slug
WordPress Tag IDShows only courses tagged with the specified WordPress tag. Use the tag ID.tag_id="10"any WordPress tag ID
WordPress Tag Name/SlugShows only courses tagged with the specified WordPress tag. Use the tag slug.tag="math"any WordPress tag slug
WordPress Category SelectorAdds a dropdown menu to filter the course grid by WordPress category.categoryselector="true"true

Columns

Columns determine the number of columns that will be used to display your courses on larger screens. On smaller screens & mobile devices, fewer columns will be used. This is scaled automatically for you. Default is 3 columns. Maximum is 6 columns.

Example using 4 columns:

[ld_course_list col="4"]

Progress Bar

By default, no progress bar is shown. To add a progress bar to the courses in your grid:

[ld_course_list progress_bar="true"]

NOTE
A progress bar is only shown on courses in which the user is currently enrolled, or has completed.

LearnDash course grid with the 3.0 theme applied
Example showing the course progress in the LearnDash 3.0 theme.

Number of Courses

This option lets you limit the number of courses shown on the page. If there are more courses than the number you specify, pagination links are shown below the grid, allowing the user to navigate all courses. Default is all courses.

Example showing only 2 courses:

[ld_course_list num="2"]

Sort Order

You can customize how your courses are sorted within your grid using a combination of the orderby and order parameters. orderby tells LearnDash which piece of information you’d like to sort by, and order determines which direction the sort should occur (i.e. forwards or backwards).

Example sorting by the original publish date, most recent to oldest:

[ld_course_list orderby="date" order="DESC"]

See the options table above for a full list of sorting parameters.

Hide Content or Image

You can choose to show or hide different content for each course in your grid. You have two options:

  • show_content="false" will hide the course title, short description & CTA button
  • show_thumbnail="false" will hide the course image

Example hiding the content, only displaying the course image:

[ld_course_list show_content="false"]

Enrolled or Not-Enrolled Courses

If you’re looking to create a unique profile page for registered users, or a sales page to promote courses to non-enrollees, these options are for you.

  • mycourses="true" will only display the courses in which a user is enrolled
  • mycourses="not-enrolled" will only display the course in which a user is NOT enrolled

Example showing only a user’s registered courses:

[ld_course_list mycourses="true"]

If you’re using categories to help organize your courses, you can add a dropdown menu to the top of your grid that will filter the courses based on their category. The user can open the dropdown menu and select a category.

If you’re using LearnDash’s categories:

[ld_course_list course_categoryselector="true"]

If you’re using the default WordPress categories:

[ld_course_list categoryselector="true"]

See below for more complex examples on how to combine multiple parameters to customize your course grid.

The featured image is a standard feature of WordPress. The LearnDash Course Grid add-on will use this image, if you’ve uploaded one. To set a featured image for your course:

  1. Navigate to LEARNDASH LMS > COURSES
  2. Click on the course you’d like to add an image to
  3. In the sidebar, look for an area titled Featured Image
  4. Click “Set featured image”
  5. Choose your image from the Media Library, or upload a new one
  6. Click the Select button at the bottom
  7. Don’t forget to click Update to save the changes

LearnDash set featured image

You also have the option to hide the featured image in your course grid. Use the show_thumbnail parameter, like this:

[ld_course_list show_thumbnail="false"]

NOTE
Most WordPress themes will also display the featured image near the top of your course page. This is solely dependent on your theme, and out of LearnDash’s control. Please contact your theme developer if you have questions regarding images on your individual course page.

Ribbon

A course ribbon is a small piece of information displayed in the top-corner of each course in your grid. It’s displayed over top of all other content, and the text it displays depends on…

  • the specific user viewing your grid, and their enrollment status
  • the course access mode for that particular course

If the user viewing the course grid has completed the course, then the ribbon will say Completed.

If the user is enrolled in the course, but has not completed it, then the ribbon will say Enrolled.

If the user is NOT enrolled in the course…

  • and the Access Mode is set to “Open” or “Closed,” then no ribbon will be displayed.
  • and the Access Mode is set to “Free,” then the word Free will be displayed.
  • and the Access Mode is set to “Buy Now” or “Recurring,” the amount entered in the Course Price field will be displayed.

If no amount is entered in the Course Price field, then no ribbon will be displayed.

See below for how to customize the ribbon text.

Call-to-Action Button

By default, all courses in your grid will include a CTA button that says, “See More…”. This language remains the same for enrolled users, non-enrolled users, and completed courses.

See below for how to customize the button text on a course-by-course basis.

Additional Grid Information

The Course Grid add-on allows you to add a few additional pieces of information about your courses that you present to your users in the grid. All of them are optional.

  1. Navigate to LEARNDASH LMS > COURSES
  2. Click on the course you’d like to edit
  3. Click on the Settings tab
  4. Scroll down until you see Course Grid Settings
  5. Enter as much or as little information as you’d like
  6. Be sure to click Update when you’re finished

LearnDash course grid admin settings

Short Description

The short description is a brief explanation of the course. It will be displayed immediately below the course title. We recommend no more than 2 sentences and somewhere around 15-25 words.

This works the same for lesson, topic & quiz grids, too.

Custom Button Text

By default, each course in your grid will include a button that says “See More…”. This button links to your course. If you’d like to change the text on the button to something other than “See More…”, you can do so.

This works the same for lesson, topic & quiz grids, too.

Ribbon Text

This field allows you to override the default text displayed on the ribbon. Keep in mind, if you use custom ribbon text, it will apply to all users, whether or not they are enrolled, and whether or not they have completed the course.

Ribbons are only displayed on course grids, not on lesson, topic or quiz grids.

Video Preview

The video preview option allows you to embed a video instead of displaying a course image. This is great for providing a quick introduction to your course, especially if you’re trying to entice users to sign up for or purchase the course.

LearnDash course grid, enable video preview settings

  1. Check the box next to Enable Video Preview
  2. Add a Video URL or Embed Code

Paste the direct video URL (or embed code) of the video you want to use in the grid. If you have a video file URL, then you can use the video tag to embed your video like this: controls>src="video-file.mp4"type="video/mp4">

This works the same for lesson, topic & quiz grids, too.

Lessons, Topics & Quizzes

You can also use the Course Grid add-on to display lessons, topics and/or quizzes in a grid format. Most of the same customization parameters apply, like:

✅ number of columns, sorting & filtering, show/hide image and/or short description, video preview, button text

The following course grid features do not apply when displaying lessons, topics or quizzes in a grid:

❌ enrolled courses only, progress bar, price ribbon


Let’s take a look at how to display each type of content in a grid.

Lessons

To display a lesson grid, use the following shortcode:

[ld_lesson_list]

To show the lessons in a particular course only, use the course_id parameter (not required when using the shortcode on a course page):

[ld_lesson_list course_id="123"]

Change 123 to the ID of the course in which you want to display lessons.

Topics

To display a topic grid, use the following shortcode:

[ld_topic_list]

To show the topics in a particular course only, use the course_id parameter (not required when using the shortcode on a course page):

[ld_topic_list course_id="123"]

Change 123 to the ID of the course in which you want to display topics.

NOTE
You cannot filter topics by lesson, only by course.

Quizzes

To display a grid of quizzes, use the following shortcode:

[ld_quiz_list]

To show the quizzes in a particular course only, use the course_id parameter (not required when using the shortcode on a course page):

[ld_quiz_list course_id="123"]

Change 123 to the ID of the course in which you want to display quizzes.

NOTE
You cannot filter quizzes by lesson or topic, only by course. All quizzes assigned at any point during the course (lesson quizzes, topic quizzes, final course quizzes) will be displayed.

Shortcode Examples

Here are some examples you can use when building out a grid on your site:

Display a progress bar for each course:

[ld_course_list progress_bar="true"]

Display up to 8 courses in 4 columns (4×2 grid):

[ld_course_list num="8" col="4"]

Display all courses & sort them in alphabetical order, by their title:

[ld_course_list orderby="title" order="ASC"]

Display all courses & order them by the most recently modified course first:

[ld_course_list orderby="modified" order="DESC"]

A few notes about sort order:

  • When ascending (ASC) is chosen for orderby="title", your courses would be displayed in alphabetical order from A-Z.
  • When using dates (date & modified), ascending will show the oldest content first, while descending will show the most recent content first.
  • For ID & menu_order, ascending will show the lowest number first (i.e. 1), while descending will show the highest number first.

Display only the courses that a user is enrolled in:

[ld_course_list mycourses="true"]

Display only the courses that a user is enrolled in, and sort randomly:

[ld_course_list mycourses="true" orderby="rand"]

Display a user’s enrolled courses, with a progress bar, and sort by oldest to newest (based on original publish date):

[ld_course_list mycourses="true" progress_bar="true" orderby="date" order="ASC"]

Display courses in which the user is NOT enrolled, and only show the featured image (hide the title, button & description):

[ld_course_list mycourses="not-enrolled" show_content="false"]

Display all courses & hide the course image (only show title, button & short description):

[ld_course_list show_thumbnail="false"]

Display 2 courses, in a 2-column grid, with a LearnDash category selector filter:

[ld_course_list num="2" col="2" course_categoryselector="true"]

Display all lessons in the course with an ID of 7, and sort by their order in the course builder:

[ld_lesson_list course_id="7" orderby="menu_order" order="ASC"]

These are only some of the ways you can use the shortcode to customize your grid. Feel free to experiment with your own combination of parameters to create exactly the type of grid you want.

Easy Digital Downloads Integration

The LearnDash Easy Digital Downloads integration creates the ability for you to sell your courses using the Easy Digital Downloads (EDD) ecommerce plugin. The integration works with the free version of EDD, but some payment gateways require paid extensions.

Easy Digital Downloads is not required to sell LearnDash courses, but is one of several ecommerce integrations we offer to provide a more robust ecommerce & checkout experience for your users.

NOTE
Both the LearnDash and EDD plugins need to be installed & activated to use the “EDD for LearnDash” plugin.

Table of Contents [show]

Why Use Easy Digital Downloads?

A few reasons why you might want to use EDD to sell your courses:

✅ Use additional payment gateways not directly supported by LearnDash (anything other than PayPalStripe & 2Checkout)
✅ Offer coupons or discount codes
✅ Sell courses in a bundle (i.e. one price provides access to multiple courses)
✅ Sell access to courses as an ongoing subscription
✅ You want to control the emails sent to course enrollees

Learn more about all of EDD’s features »

Installation

Option 1: Add-ons Menu (requires an active LearnDash license)

  1. In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
  2. Locate the EDD for LearnDash add-on
  3. Click Install Now
  4. Click the Activate Plugin button

Easy Digital Downloads LearnDash integration plugin

Option 2: Manual Upload

  1. Download the plugin file (must be logged in to download)
  2. In WordPress, navigate to PLUGINS > ADD NEW
  3. Click Upload Plugin
  4. Browse for the .zip file you downloaded in Step 1
  5. Click Install Now
  6. Click Activate Plugin

How it Works

Before you can sell a LearnDash course with EDD, you need to:

  • create a LearnDash course
  • create a product in EDD

We’ll assume you have already created a LearnDash course.

Create a Product

EDD calls their products “downloads,” so you can think of downloads & products synonymously.

  1. Navigate to DOWNLOADS > ADD NEW
  2. Fill out any pertinent information about your product (see this help article)

Now it’s time to associate this product with the appropriate LearnDash course. Doing so will mean that once a product is purchased, the user will have access to the associated course.

Easy Digital Downloads, assign LearnDash course

  1. On the Edit Download page, scroll down & look in the sidebar for the LearnDash box
  2. Check the box for Is this a LearnDash course?
  3. Click in the text box under “Which course?”. You can select a course from the dropdown list, or start typing to search all courses.
    NOTE: You may link multiple courses to a single product.

When you’re finished editing your product, be sure to click the “Publish” or “Update” button to save your changes.

FAQ & Troubleshooting

Why wasn’t a user created and enrolled into the associated course(s) after purchase?

There are a few reasons why this might happen. First, make sure that the “Require Login” option is selected in the Easy Digital Downloads settings.

  1. Navigate to DOWNLOADS > SETTINGS
  2. Click on the Misc tab
  3. Click on the Checkout link
  4. Check the box for Require Login
  5. Click the Save Changes button

EDD require login setting

Next, if you are using PayPal, make sure you have verified your account.

Last, purchases must have a status of “Complete” before the LearnDash integration will trigger account creation & course enrollment. To check the status of an order in EDD:

  1. Navigate to DOWNLOADS > PAYMENT HISTORY
  2. Look in the Status column to confirm the order’s status

Easy Digital Downloads payment status complete

See this support article on the Easy Digital Downloads site for more details.

Can I use any payment gateway in Easy Digital Downloads to sell courses?

Yes, the integration will work with any EDD payment gateway (as well as free products). Here’s a complete list of EDD payment gateways.

Gravity Forms Integration

The LearnDash Gravity Forms integration allows you to register new users on your site and instantly provide them access to one (or more) of your courses. It can be used to create a signup form, both for free courses, as well as those that require payment (using one of Gravity Forms payment add-ons).

Table of Contents [show]

Requirements

Before you can use this integration, you will need:

  • LearnDash
  • Gravity Forms plugin (the Elite license)
  • Gravity Forms User Registration add-on enabled

Upload & activate the Gravity Forms plugin

  1. Download the Gravity Forms plugin from your account page on gravityforms.com
  2. In the WordPress admin area, navigate to PLUGINS > ADD NEW
  3. Click the Upload Plugin button
  4. Click the Choose File button
  5. Select the Gravity Forms .zip file you downloaded in step 1
  6. Click Install Now
  7. Click Activate Plugin

Enter your Gravity Forms license key

You can follow along with the setup wizard, but if you’d rather enter your license key manually:

  1. Navigate to FORMS > SETTINGS
  2. Enter your license key (from your account page on gravityforms.com)
  3. Click the Save Settings button at the bottom

enter license key for Gravity Forms

Enable the Gravity Forms User Registration add-on

  1. Navigate to FORMS > ADD-ONS
  2. Scroll down to the User Registration Add-On
  3. Click the Install button
  4. Click the Activate button

Gravity Forms user registration add-on

Install the LearnDash Integration

Option 1: Add-ons Menu (requires an active LearnDash license)

  1. In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
  2. Locate the Gravity Forms for LearnDash add-on
  3. Click Install Now
  4. Click the Activate Plugin button

Gravity Forms for LearnDash plugin

Option 2: Manual Upload

  1. Download the plugin file (must be logged in to download)
  2. In WordPress, navigate to PLUGINS > ADD NEW
  3. Click Upload Plugin
  4. Browse for the .zip file you downloaded in Step 1
  5. Click Install Now
  6. Click Activate Plugin

Create a Form

To use the integration, you’ll need a form to assign courses to. Follow Gravity Forms documentation on creating a form.

Gravity Forms advanced fields

You can include as many form fields as you’d like, but the email field is required for user registration to work. You might also want to include:

  • Name
  • Username
  • Password

* All of these fields can be found under “Advanced Fields.”

Name is not required, but in most cases, you’ll want to ask for it.

Username can be set to the email address, any other form field, or you can allow the user to choose one upon signup.

Password can be automatically generated upon completion of the form, or you may choose to include this field in your form to allow the user to choose one upon signup.

Now that your form is ready, you’ll need to set up a user registration feed.

Configure User Registration

Before assigning LearnDash courses to your new users, you’ll need to create a user registration feed. Since this is a Gravity Forms feature, please follow their instructions on setting up a user registration feed.

Gravity Forms user registration feed page

To get started, from the Edit Form page:

  • Navigate to Settings > User Registration

Gravity Forms settings data-lazy-src=

Assign LearnDash Courses

The final step is to assign a course (or courses) that the user will be enrolled in once they submit the form.

  1. Locate the final group of settings on the User Registration Feed titled LearnDash Settings
  2. Check the box(es) next to the course(s) you want the user to be enrolled in
  3. Save/Update your settings

Gravity Forms registration, LearnDash settings

Congratulations! Now when someone successfully submits the form, a new user account is created for them, and they will be automatically enrolled in the associated course(s).

Require Payment

In addition to allowing free user registration, Gravity Forms also provides a way to charge for your courses during the signup process. To enable this, you will need an account with one of Gravity Form’s payment gateway add-ons. Most of the payment add-ons require the Elite license of Gravity Forms.

Gravity Forms payment options include:

  • Stripe (docs)
  • PayPal Payments Standard (docs)
  • PayPal Payments Pro (docs)
  • 2Checkout (docs)
  • Authorize.net (docs)

Use the “docs” links above to follow Gravity Form’s documentation on setting up each payment add-on.

Gravity Forms Integration

The LearnDash Gravity Forms integration allows you to register new users on your site and instantly provide them access to one (or more) of your courses. It can be used to create a signup form, both for free courses, as well as those that require payment (using one of Gravity Forms payment add-ons).

Table of Contents [show]

Requirements

Before you can use this integration, you will need:

  • LearnDash
  • Gravity Forms plugin (the Elite license)
  • Gravity Forms User Registration add-on enabled

Upload & activate the Gravity Forms plugin

  1. Download the Gravity Forms plugin from your account page on gravityforms.com
  2. In the WordPress admin area, navigate to PLUGINS > ADD NEW
  3. Click the Upload Plugin button
  4. Click the Choose File button
  5. Select the Gravity Forms .zip file you downloaded in step 1
  6. Click Install Now
  7. Click Activate Plugin

Enter your Gravity Forms license key

You can follow along with the setup wizard, but if you’d rather enter your license key manually:

  1. Navigate to FORMS > SETTINGS
  2. Enter your license key (from your account page on gravityforms.com)
  3. Click the Save Settings button at the bottom

enter license key for Gravity Forms

Enable the Gravity Forms User Registration add-on

  1. Navigate to FORMS > ADD-ONS
  2. Scroll down to the User Registration Add-On
  3. Click the Install button
  4. Click the Activate button

Gravity Forms user registration add-on

Install the LearnDash Integration

Option 1: Add-ons Menu (requires an active LearnDash license)

  1. In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
  2. Locate the Gravity Forms for LearnDash add-on
  3. Click Install Now
  4. Click the Activate Plugin button

Gravity Forms for LearnDash plugin

Option 2: Manual Upload

  1. Download the plugin file (must be logged in to download)
  2. In WordPress, navigate to PLUGINS > ADD NEW
  3. Click Upload Plugin
  4. Browse for the .zip file you downloaded in Step 1
  5. Click Install Now
  6. Click Activate Plugin

Create a Form

To use the integration, you’ll need a form to assign courses to. Follow Gravity Forms documentation on creating a form.

Gravity Forms advanced fields

You can include as many form fields as you’d like, but the email field is required for user registration to work. You might also want to include:

  • Name
  • Username
  • Password

* All of these fields can be found under “Advanced Fields.”

Name is not required, but in most cases, you’ll want to ask for it.

Username can be set to the email address, any other form field, or you can allow the user to choose one upon signup.

Password can be automatically generated upon completion of the form, or you may choose to include this field in your form to allow the user to choose one upon signup.

Now that your form is ready, you’ll need to set up a user registration feed.

Configure User Registration

Before assigning LearnDash courses to your new users, you’ll need to create a user registration feed. Since this is a Gravity Forms feature, please follow their instructions on setting up a user registration feed.

Gravity Forms user registration feed page

To get started, from the Edit Form page:

  • Navigate to Settings > User Registration

Gravity Forms settings data-lazy-src=

Assign LearnDash Courses

The final step is to assign a course (or courses) that the user will be enrolled in once they submit the form.

  1. Locate the final group of settings on the User Registration Feed titled LearnDash Settings
  2. Check the box(es) next to the course(s) you want the user to be enrolled in
  3. Save/Update your settings

Gravity Forms registration, LearnDash settings

Congratulations! Now when someone successfully submits the form, a new user account is created for them, and they will be automatically enrolled in the associated course(s).

Require Payment

In addition to allowing free user registration, Gravity Forms also provides a way to charge for your courses during the signup process. To enable this, you will need an account with one of Gravity Form’s payment gateway add-ons. Most of the payment add-ons require the Elite license of Gravity Forms.

Gravity Forms payment options include:

  • Stripe (docs)
  • PayPal Payments Standard (docs)
  • PayPal Payments Pro (docs)
  • 2Checkout (docs)
  • Authorize.net (docs)

Use the “docs” links above to follow Gravity Form’s documentation on setting up each payment add-on.

Stripe Integration

The LearnDash Stripe integration is one of the simplest ways to start selling your LearnDash courses. Stripe is also one of the easiest payment gateways to set up, and their processing fees are on par with most other gateways.

NOTE
You need to register for a free Stripe account before you can use this integration. Stripe is not available in all countries. View available countries »

While the Stripe integration provides a quick and easy way to sell courses, it doesn’t come with a ton of flexibility. If you’re looking for more robust member management, a customizable checkout experience or integrations with other WordPress plugins or services, check out our ecommerce & membership add-ons.

For another simple way to accept payments, you may also consider our built-in PayPal integration.

Table of Contents [show]

Who Should Use the Stripe Integration?

You should consider using the Stripe for LearnDash integration if:

✅ you’re looking for a quick & easy way to start selling courses
✅ you offer one course, or only a few courses, with a simple payment structure

You might not want to use Stripe for LearnDash if:

❌ you want to customize the user’s checkout experience
❌ you are creating a fully functional membership site
❌ you’re selling other products in addition to courses
❌ you want to closely manage the account creation & login process

Walkthrough Video

This video was created using LearnDash version 2.x, but the general setup and all the settings are the same in LearnDash 3.x.

Sign Up for a Stripe Account

  • Navigate to stripe.com and follow the instructions for registering a new account
  • Once your account is set up, you can navigate to dashboard.stripe.com to access all of your account settings, as well as the information you’ll need to set up the LearnDash integration

Install the Stripe Integration

Option 1: Add-ons Menu (requires an active LearnDash license)

  1. In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
  2. Locate the Stripe for LearnDash add-on
  3. Click Install Now
  4. Click the Activate Plugin button

Stripe for LearnDash integration

Option 2: Manual Upload

  1. Download the plugin file (must be logged in to download)
  2. In WordPress, navigate to PLUGINS > ADD NEW
  3. Click Upload Plugin
  4. Browse for the .zip file you downloaded in Step 1
  5. Click Install Now
  6. Click Activate Plugin

Stripe Settings

There are a few unique keys that Stripe creates for you when you set up a new account. You’ll need to provide these keys to LearnDash so that LearnDash can deposit your money in the proper Stripe account.

There are two ways you can set up the LearnDash Stripe integration: test mode or live mode.

  • Test mode should be used when you’re still testing your site internally. No money will actually change hands, but Stripe will record if the transaction succeeded or failed.
  • Live mode should be used when you’re ready to launch your course. All transactions in this mode are real transactions, and money will exchange hands. Once you’ve launched your site, you should stay in live mode indefinitely.

There are two different sets of keys, depending on which mode you’re using.

Locate Your Stripe Keys

  1. Navigate to your Stripe Dashboard
  2. Click on Developers, then API keys
  3. In the Standard keys section, you’ll see both a “Publishable key” and a “Secret key.” You’ll need both of these keys to set up the LearnDash integration.
  4. Your LIVE keys will be prefixed with pk_live_ and sk_live_

NOTE
These are your LIVE keys. They should be used when you’re ready to launch your site to the public.

Find Stripe API keys, Live Mode

To find your TEST keys…

  1. From the same API keys page, click the “View test data” toggle in the top-right corner
  2. You may need to click the “Reveal key token” button to access your Secret key
  3. You’ll know these are your TEST keys because they’ll be prefixed with pk_test_ and sk_test_

Find Stripe API keys, Test Mode

Insert Stripe Keys

Now that you know how to access your Stripe keys, you need to provide them to LearnDash.

  1. In your WordPress admin area, navigate to LEARNDASH LMS > SETTINGS
  2. Click the Stripe Settings tab at the top
  3. For TEST mode… check the “Test Mode” box to enable test mode, then input your Stripe test keys
  4. For LIVE mode… make sure “Test Mode” is unchecked, and input your Stripe live keys

LearnDash Stripe settings, enter API keys

Currency

You need to set the 3-letter ISO code for the currency you want to use.

For example:

  • USD for United States Dollar
  • CAD for Canadian Dollar
  • AUD for Australian Dollar

See Stripe’s list of supported currencies & ISO codes here.

Return URL (optional)

If no return URL is provided, the user will remain on the course page after their transaction is processed.

But you can choose to send the user to a confirmation page instead. This can be a page you create on your site, with WordPress, a page builder, etc. Or even a page on a completely different domain. It’s entirely up to you.

Enter the full URL, beginning with https://.

Course Configuration

After you’ve configured your Stripe for LearnDash settings, the final thing you need to do is set up your course to accept payments.

  1. In the WordPress admin area, navigate to LEARNDASH LMS > COURSES
  2. Click on the course you’d like to sell with Stripe
  3. Click on Settings at the top
  4. Scroll down to Course Access Settings
  5. Set the “Access Mode” to one of two values:
  • Buy Now: Use “Buy Now” for one-time payments
  • Recurring: Use “Recurring” if you’d like to set up a recurring payment (aka: subscription)

And finally, enter your price in the Course Price field. Ex: 29.99

  • The currency symbol will be added automatically for you
  • If your price is an even dollar amount, you may omit the decimal point & cents (ex: 29)

For recurring payments, you need to include the “Billing Cycle” in days, weeks, months or years.

Setting price on Buy Now course in LearnDash

The User Experience

When users visit your course page, they will see a “Take This Course” button (this language can be customized using custom labels). When a user clicks this button, they will be presented with a popup window (powered by Stripe), where they can enter payment details and complete their purchase.

Stripe for LearnDash payment modal example

  • The first line is your site’s title, auto-generated from the SETTINGS > GENERAL page in WordPress
  • The smaller text underneath the site title is your course title, which is what you’ve named your course in LearnDash
  • The button will display the price you entered in the “Course Price” field

After payment is complete, a new user account is automatically created, and that user is enrolled into the course they just purchased.

FAQ

Can I use both PayPal AND Stripe?
Yes. You will need to configure the PayPal settings within LearnDash, but once you’ve added that information, along with all the Stripe information, users will be presented with two options when they click the “Take This Course” button. It will look like this:
(design may vary based on your theme)

Payment Button, PayPal or Stripe options

When will I receive my money?
This is determined by your settings in Stripe. Please reference Stripe’s documentation on payouts.

Can I set up recurring payments (aka: subscriptions)?
Yes. In the course settings, just set your “Access Mode” to “Recurring,” and choose a billing cycle.

Can I offer coupons or discounts?
No. The LearnDash Stripe integration does not allow you to offer discounts. Consider using one of our other ecommerce or membership add-ons.

How do I issue refunds and/or cancel subscriptions for my customers?
Issuing refunds and canceling subscriptions is done from your Stripe account, not from LearnDash or this add-on.

Are users automatically removed from a course if they are issued a refund?
No. You can remove the course access from their profile.

Troubleshooting

My “Take this Course” button is missing.
By default, all site administrators are automatically enrolled in all courses, so they will not see the “Take this Course” button. You can either log out of your account and refresh the page, or view your course page in a private browsing window (or a completely different browser).

WooCommerce Integration

The LearnDash WooCommerce integration is very popular because it provides an enormous amount of flexibility for selling your courses. WooCommerce works with dozens of payment gateways, and there’s a WooCommerce extension for nearly any type of ecommerce functionality you can think of. If you’re looking to build the ultimate ecommerce experience, our WooCommerce integration might be your best option.

While it is incredibly powerful, WooCommerce does come with more of a learning curve than most other plugins & integrations. We’ll walk you through the LearnDash integration step-by-step below, but there is much more to WooCommerce that we won’t be covering in this article.

Table of Contents [show]

Why Use WooCommerce with LearnDash?

You should consider using the WooCommerce for LearnDash integration if:

✅ you want full control over the checkout experience
✅ you want to customize the My Account area for your customers
✅ you sell physical products, in addition to your courses
✅ you want to control the emails sent to course enrollees
✅ you want to offer coupons & discounts
✅ you want to sell courses in a bundle (multiple courses for a single price)
✅ you want to use a payment gateway other than StripePayPal or 2Checkout

WooCommerce offers a wide variety of extensions to power your ecommerce store. If you’d like to use any of this additional functionality, consider using the LearnDash WooCommerce integration to sell your courses.

You might not want to use WooCommerce for LearnDash if:

❌ you’re looking for a quick & easy setup
❌ you have a small number of courses or a small audience that you manage manually

Walkthrough Video

Requirements

Before you can use this integration, you will need:

  • LearnDash
  • WooCommerce (version 3.0 or above)

Installation

Option 1: Add-ons Menu (requires an active LearnDash license)

  1. In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
  2. Locate the WooCommerce for LearnDash add-on
  3. Click Install Now
  4. Click the Activate Plugin button

WooCommerce for LearnDash plugin card

Option 2: Manual Upload

  1. Download the plugin file (must be logged in to download)
  2. In WordPress, navigate to PLUGINS > ADD NEW
  3. Click Upload Plugin
  4. Browse for the .zip file you downloaded in Step 1
  5. Click Install Now
  6. Click Activate Plugin

Set Up Your Product

The integration connects your WooCommerce products with LearnDash courses, and helps the two systems communicate with each other. There’s some setup involved in both plugins, but we’ll walk you through the steps.

NOTE
If you’re new to WooCommerce, consider reviewing their Getting Started guidebefore continuing. We’ll show you how to create a simple product, but there are many other setup options to consider.

WooCommerce Settings

IMPORTANT
Don’t skip this step! This is required for the integration to work.

When someone buys your course using WooCommerce, LearnDash needs to know who to provide course access to. Therefore, LearnDash needs a specific user within WordPress to enroll into the course. This is why Guest Checkout must be disabled, and your users must create an account when using this integration.

  1. Navigate to WOOCOMMERCE > SETTINGS
  2. Click on the Accounts & Privacy tab
  3. Uncheck the box next to “Allow customers to place orders without an account”

You also need to make sure customers have the ability to create an accountduring checkout.

  1. On the same page, check the box next to “Allow customers to create an account during checkout”
  2. Be sure to Save Changes at the bottom

WooCommerce disable guest checkout

You can still enable “Allow customers to log into an existing account during checkout,” so existing users can return and purchase additional courses.

Create a Product & Assign Your Course

Now let’s create a product in WooCommerce.

  1. Navigate to PRODUCTS > ADD NEW
  2. Fill in the appropriate information for your product (see WooCommerce’s guide on adding products)
  3. Scroll down to the Product data section
  4. Next to the Simple Product dropdown menu, check the box for Virtual
  5. Open the Simple Product dropdown menu and choose Course
  6. Next to Related Courses, click on the course you’d like to associate with this product
  7. Be sure to publish or update your product when you’re finished

Set LearnDash course settings in a WooCommerce product

BUNDLE COURSES
You can bundle multiple courses and sell them with a single WooCommerce product. Hold down the SHIFT key when selecting courses from the list.

Set Up Your Course

After your product is set up in WooCommerce, you’ll need to make a few adjustments to your LearnDash course.

  1. Navigate to LEARNDASH LMS > COURSES
  2. Click on the course that corresponds with a WooCommerce product
  3. Click the Settings tab at the top
  4. Under Course Access Settings, look for Access Mode
  5. Set this to Closed
  6. In the Button URL field, enter the URL to your WooCommerce product page

LearnDash closed course with WooCommerce button URL

Now when people visit your course page, the “Take this Course” button will send them to the corresponding WooCommerce product page, where they can add the product to their cart & complete the checkout process.

TIP
Want to speed up the checkout process? You can add the product to a user’s cart AND redirect them to the cart page all in one step. In the Button URL field, enter your cart URL (typically /cart/), followed by ?add-to-cart=123, where 123 is the WooCommerce product ID. The entire URL will look like this:
https://yoursite.com/cart/?add-to-cart=123

Additional Tips

While not required, there are a few additional things you might want to consider with your setup.

Add a Purchase Note

WooCommerce has a built-in field called “Purchase Note.” This note is shown to the customer in a few places, after a successful purchase:

  • On the purchase confirmation page
  • In the customer’s receipt email

Consider using this field to provide instructions or next steps for taking your course, along with a link to the course page.

  1. Navigate to PRODUCTS
  2. Click on the product you’d like to add a purchase note for
  3. Scroll down to the Product data section
  4. Click on the Advanced tab
  5. Enter your instructions and/or a link to your course

WooCommerce purchase note for LearnDash course

This field accepts HTML. Here’s an example to create a link to your course. Replace the URL with the URL to your specific course.

 href="https://yoursite.com/courses/course-name/">Start This Course

Use Different Product Types

Did you know you can leverage any WooCommerce product type while keeping the course association?

Learn more about different product types and why you might want to use them.

  1. On your WooCommerce product, scroll down to the Product datasection
  2. Select the Course product type & choose your Related Course (as outlined above)
  3. Now you can switch your product type, and WooCommerce will remember your course selection in the background

WooCommerce product types with LearnDash

Post-Purchase Redirect

After purchase your customers are sent to the WooCommerce purchase confirmation page. You can bypass this step and send customers directly to the course instead by following the steps in this video:

The User Experience

NOTE
When testing, we recommend visiting your site in a private browsing window. To see how the integration works, you should be logged out of your account (by default, administrators will already be enrolled in the course).

Once everything is set up correctly, there are a few ways in which potential customers can go through the process of purchasing one of your courses. (These are only some examples. This list is not meant to be exhaustive.)

  1. They could start on your main shop page, which is automatically created by WooCommerce, and contains a list of all of your products, including all the ones you’ve set up for your courses.
    • They click on a product to visit the product page.
    • Add the product to their cart.
    • Finish the WooCommerce checkout process.
    • If online payment was successful, they are automatically enrolled to the corresponding LearnDash course.
  2. They might land on your LearnDash course page first.
    • They click the “Take this Course” button to visit the product page.
    • The remaining steps are the same as above.
  3. You can create a separate landing page using the new WordPress editor (Gutenberg), a page builder, or even a completely different platform outside of WordPress.
    • Include a “Buy Now” button on your landing page.
    • Use the link to directly add the course to the WooCommerce cart, bypassing the product page altogether (ex: https://yoursite.com/cart/?add-to-cart=123)
    • The remaining steps would be followed to complete checkout through WooCommerce.

Course Access & Auto-Enrollment

The WooCommerce integration has some built-in logic that helps auto-enroll users into the corresponding LearnDash course. Here’s how it works:

NOTE
This assumes you’re using version 1.5.0.14 or higher of the WooCommerce for LearnDash add-on.

Which WooCommerce payment methods can enroll users into a LearnDash course?
All payment methods can be associated with a LearnDash course, including both online & offline payments.

  • Online Payments: Stripe, PayPal, and all other WooCommerce payment gateways
  • Offline Payments: Direct bank transfer (BACS), Check payments, and Cash on delivery (COD)

Are users auto-enrolled into the course after completing checkout?

  • Online Payments → Yes
    The WooCommerce order status is set to Completed.
  • Offline Payments → No
    The WooCommerce order status will remain Processing.

If a user pays online, but the order also contains a physical product, the user will still be auto-enrolled into the course, but the WooCommerce order status will remain Processing.

When do offline payment customers receive course access?
As soon as you change the WooCommerce order status to Completed.

Can I auto-enroll users who choose an offline payment method?
Yes. To do this, you can use the Autocomplete WooCommerce Orders plugin, which allows you to automatically mark ALL orders as Completed, regardless of online or offline payment. Be careful with this option, as it could grant a user access to a course before you receive payment.

Retroactive Course Access Tool

If some WooCommerce customers have purchased courses and haven’t been properly granted access, you can use the retroactive course access tool. The tool will scan all WooCommerce orders, looking for Completed orders that are connected to a LearnDash course, and automatically enroll the associated users. It will also unenroll the customers who should no longer have course access.

Example Situation: If you add a course to a WooCommerce product aftersomeone has already purchased the product, running this tool will find that user and give them access to this new course you just added.

LearnDash WooCommerce course access tool

  1. Navigate to WOOCOMMERCE > STATUS
  2. Click on the Tools tab
  3. Scroll down until you see “LearnDash retroactive course access”
  4. Click the “Check LearnDash course access” button

The tool works for regular WooCommerce course products, as well as those using the WooCommerce Subscriptions extension.

FAQ

Why wasn’t a user created & enrolled into the associated course(s) after purchase?
Auto-enrollment should work as stated above. Please update to version 1.5.0.14 or higher of the WooCommerce for LearnDash add-on.

Which payment gateways can I use with WooCommerce?
WooCommerce offers the most payment gateways of any LearnDash integration—several of them are free, while others come with an additional fee. Check out all WooCommerce payment gateways here.

Does this integration support manual/offline payments?
It does, but manual/offline payments work a bit differently than online payments. Please see the section above.

Can I create bundles & memberships with WooCommerce and LearnDash?
Yes. This article explains how you can do this in more detail.

Is this integration compatible with WooCommerce Subscriptions?
Yes. Learn more about the WooCommerce Subscriptions extension.

A user’s course access is automatically removed if you provide them a refund or they cancel their subscription.

Why doesn’t “Add to Cart” translate to my language when the integration is active?
This is due to a setting in the integration. To resolve this, edit the WooCommerce product and once the LearnDash course is selected, go back to the Simple Product dropdown menu (the course selection will be saved) – then click Update.

Zapier Integration

The LearnDash Zapier integration empowers you to automate the learning experience. Using Zapier, you can connect LearnDash with over 1,500 applications, and automatically pass data from LearnDash to another application of your choice.

Data is sent to another app after specific Triggers take place on your LearnDash site. We’ll briefly explain how Zapier works, all of the available Triggers, and walk you through a real-world example from start to finish.

NOTE
You need to sign up for a Zapier account before you can use this integration. Both free & premium options are available.

Table of Contents [show]

What is a Zap?

A Zap is a connection between two (or more) applications. Zaps consist of one Trigger, followed by one (or several) Actions.

  1. Trigger: Something occurs in Application 1 to start the process. In this case, Application 1 is LearnDash.
  2. Data from Application 1 is sent to Zapier
  3. Filter: Modify the data in one, or several, ways (optional, requires premium account)
  4. Action: Some, or all, of the data is then sent to Application 2

Sign Up for a Zapier Account

  1. Go to zapier.com & click the “Sign Up” button at the top
  2. Follow the prompts to create your account

Keep your account open in your browser, as we’ll come back to it shortly.

Install the Zapier Integration

Option 1: Add-ons Menu (requires an active LearnDash license)

  1. In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
  2. Locate the Zapier for LearnDash add-on
  3. Click Install Now
  4. Click the Activate Plugin button

LearnDash Zapier add-on plugin card

Option 2: Manual Upload

  1. Download the plugin file (must be logged in to download)
  2. In WordPress, navigate to PLUGINS > ADD NEW
  3. Click Upload Plugin
  4. Browse for the .zip file you downloaded in Step 1
  5. Click Install Now
  6. Click Activate Plugin

Zapier integrates with more than 1,500 apps. For this example, we’re going to use one of the more common actions people want to occur when someone starts a LearnDash course, and that’s adding them to an email list. We’ll use Mailchimp as the email service provider, but Zapier integrates with many others.

Before we set up any connections in LearnDash, we need to start creating our Zap on the Zapier website.

Create a Trigger

"Make a Zap" button on zapier.com

  1. Navigate to zapier.com
  2. Click the Make a Zap! button in the top-right corner
  3. Give your Zap a name (for internal use only)
  4. Choose a Trigger App: Select “Webhooks”
  5. Choose the Catch Hook option
  6. Click Save + Continue

Creating a trigger in Zapier

Copy the Webhook URL to your clipboard. You’ll need it in just a second.

Zapier Webhook URL, copy to clipboard

Set Up the Zap in LearnDash

Set up a Zap in LearnDash

  1. Navigate to LEARNDASH LMS > ZAPIER
  2. Click Add Trigger
  3. Give your Trigger a name (internal use only)
  4. Trigger Event: Choose “Enrolled into course”
  5. Trigger Course: Choose a specific course, or leave it set to All Courses
  6. Webhook URL: Paste the Webhook URL you copied from Zapier
  7. Click Publish

NOTE
You can choose any of the available Trigger Events from the list. We’re just using “Enrolled into course” for this example.

Available LearnDash Event Triggers

You may use any of the following events to initiate an Action step in Zapier:

  • User enrolls into a course
  • User completes a course
  • User completes a lesson
  • User completes a topic
  • User completes a quiz
  • User passes a quiz
  • User fails a quiz
  • User submits an essay

Zapier also works with WooCommerce, and there are several WooCommerce Triggers available as well.

Send Test Data to Zapier

In order for Zapier to know what data to send to Mailchimp, we need to create a test user, and perform the action of enrolling that user into a course.

NOTE
The action that you need to perform on your LearnDash site will depend on the “Trigger Event” that you choose. Whatever event you choose, be sure to perform that specific action.

Create a Test Course

Let’s create a simple test course that we can enroll in. You can delete this course after you’ve used it to set up the Zapier integration.

  1. Navigate to LEARNDASH LMS > COURSES
  2. Click Add New
  3. Give your course a title
  4. On the Settings tab, set the Access Mode to “Free”
  5. Click Publish

We don’t need to add any lessons or other content. We just need a course that we can easily enroll in.

Create a Test User

Now we need a user to enroll in our test course. Since administrators are automatically enrolled in all courses, let’s create a test user. Again, you can delete this test user after you’re finished the setup.

  1. Navigate to USERS > ADD NEW
  2. Fill out the required information
  3. Role should be set to Subscriber
  4. Click Add New User

Now you’ll need to either logout of your WordPress administrator account or use a private browsing session to login as this new test user.

Perform the Test Action

  1. Navigate to the course page of the test course you just created
  2. Click the “Take this Course” button

Now that you are enrolled in the course, you have sent Zapier the information it needs to be able to communicate with Mailchimp.

Finalize the Trigger

You just need to confirm with Zapier that it has the correct information.

  1. Navigate back to your Zapier account
  2. Click the OK, I did this button
  3. Under Pick A Sample To Set Up Your Zap, you should have one example. Select it.
    Tip: Click the dropdown arrow to reveal the information that Zapier collected about the course & the user. This will confirm that you have the info you need.
  4. Click Continue

Zapier test hook, check information

Create an Action Step

Now it’s time to tell our Zap what to do once the Trigger has been fired.

Zapier, create an action, step 1
Part 1 of creating your Action step
Zapier, creating an action step, part 2
Part 2 of creating your Action step
  1. If you’re not automatically sent to the “Choose an Action App” screen, click the + Add a Step button
  2. Click on Action/Search
  3. Type “mailchimp” into the search bar, and click on “Mailchimp” when you see it appear
  4. Select Mailchimp Action: Choose “Add/Update Subscriber”
  5. Click the Connect an Account button. A new window will ask you to sign into your Mailchimp account.
  6. Make sure your account is selected, then click Save + Continue
  7. Audience (formerly Lists): Choose the audience in which you’d like to add the new subscriber to
  8. Subscriber Email: Type “email” to search, and select the option for User[user Email]
    IMPORTANT: Do not type an actual email address is this field.
  9. All other fields are optional, but you may set them up if you’d like
  10. Click the Continue button
  11. Click the Send Test to Mailchimp button
  12. Click Finish
  13. Click the toggle to turn on your Zap

Additional Options

If you have a premium Zapier account, you can add more than 1 Action step. This allows you to filter and reformat a user’s data before adding it to Mailchimp (or another app of your choosing).

Learn more about filtering & advanced options in Zapier’s help docs.

Zap Ideas

Here are just a few ideas for how to use Zapier with LearnDash to better automate your learning experience.

  • Course Enrollment → Email List
    When a user enrolls into a course, add them to your email list
  • Course Enrollment → CRM
    When a user enrolls into a course, add them to your CRM database
  • Course Enrollment → Help Desk Software
    When a user enrolls into a course, create an account for them in your help desk software
  • Quiz Data → Spreadsheet
    Keep track of passed and/or failed quizzes by adding them to a spreadsheet (Google Sheets, Microsoft Excel, and others)
  • Completed Lessons/Topics → Slack
    Post a message to a Slack channel when users complete lessons/topics
  • Course Completed → Email
    Send an email to users and/or admins whenever a course (all courses, or a specific course) is completed
  • Course Completed → Tag or Custom Field
    After a user completes a specific course, apply a tag or set a custom field in your CRM
  • WooCommerce Subscription Fails → SMS
    If you’re using WooCommerce subscriptions, you can send yourself a text message when a subscription renewal fails

FAQ

Can I send information from a 3rd party app into LearnDash using Zapier?
No. The integration only supports information going from LearnDash to the selected app.

I can’t find “LearnDash” as an available app on Zapier. Where is it?
This integration uses the “Webhook” option for a Trigger. Look for “Webhook,” not “LearnDash.”

Will the “Enrolled into course” Trigger work with course access mode set to “Open”?
No. The course access mode cannot be set to “Open” when using the “Enrolled into course” Trigger.

Was this article helpful?
Dislike 0

Leave a Comment