LearnDash Courseware WordPress Plugin

Logo for the LearnDash WordPress LMS (Learning Management System)LearnDash is one of the most powerful courseware, also called a Learning Management System (LMS), plugins available for WordPress. Between the plugin and its extensions, you can build everything from your own online courses to a marketplace of multiple courses and instructors. Courses can also be associated with membership levels using the free plugin Paid Memberships Pro. Payments can be accepted and course access managed within the plugin without requiring an external shopping cart or membership plugin.

ProPanel Administrative View

If you select to purchase one of the two LearnDash options that include ProPanel, you will receive an administrative view of Course Progress and Activity, Assignments uploaded, and the ability to email course participants from the WordPress Dashboard. This detailed reporting gives you easy access to what’s happening in your courses and improves your ability to communicate with the students.

Screen grab of the LearnDash ProPanel Activity Stream showing course activity.

Pricing for LearnDash

  • Pricing for LearnDash starts at $159.00 for a single site license without ProPanel.
  • 10 sites with ProPanel are available for $189.00
  • Unlimited sites with ProPanel are available for $329.00

Prices are per year, if you want to keep receiving updates and support. The purchased license can be used forever.

Extensions Available for LearnDash

A series of extensions are available for the LearnDash software. Many of these are free for use with any active LearnDash license while others like support for multiple instructors and front-end course development are premium.

Free extensions include those that integrate LearnDash with BuddyPress, bbPress, BadgeOS, WPAchievements, and Paid Memberships Pro. These allow you to further increase engagement with students and allow for building a community.

Features Checklist for LearnDash

Graph showing the features of LearnDash including which are out-of-the-box and which require extensions.

Chart Explanation

  • ✔ – Part of the core installation
  • E – It is accomplished using an extension (also called an Add-On).
  • D – It is dependent on an integration, such as a shopping cart.

LearnDash provides many extensive features for creating and managing online courses in its core software. At this writing, it is the only WordPress LMS plugin that is not dependent on another plugin such as a shopping cart or membership manager to accept payments. It does support shopping cart integrations for more extensive payment options.

Understanding the LearnDash Terminology

Each of the plugins and platforms that I cover provide the ability to create lessons and quizzes. They all have a slightly different vocabulary for describing the course structure and they have different ways to configure and assign items within that structure. LearnDash uses the Course as the top level structure with lessons, and topics under that structure. Lessons can be stand alone or can hold topics. Quizzes can be assigned to either lessons or topics.

Getting Started with the LearnDash Plugin

The following information is excerpted from my class How to Build a Course Using LearnDash. To learn more about this course, which launches in early 2016, visit and get started visit Get Started Building my Course.

Creating a Course in LearnDash


Creating a course in LearnDash is as simple as creating a new blog post.

  1. From the Dashboard, select LearnDash LMS > Courses.
  2. Click the Add New button.
  3. Enter the title of the course and add the course description in the editor.
  4. Complete the course settings, as described below.
  5. Click on Publish.

The Settings for the Course are:

  • Course Materials – If you add course materials, they will appear on the course page.
    HTML can be used here to link to materials.
  • Course Price Type – The selections are Open (meaning anyone can take the course without having to login or register), Closed (meaning no one can register for the course. This can be used for internal or private training where students will be manually added to the class.) Free, Buy Now (used when selling a course using LearnDash’s PayPal integration), Recurring (used with LearnDash’s PayPal integration to charge a recurring fee for a course).
  • Course Access List – This section is autofilled with user ids of those who have registered to take the course.
  • Sort Lesson By – This can be sorted by Date created, Title, or Menu Order.
  • Sort Lesson Direction – Set for Ascending or Descending order.
  • Course Prerequisites – If the student is required to take another course before this one, select it here.
  • Disable Lesson Progression – By default, students will not be able to take a lesson until they have completed the previous lesson. If you want to disable this and allow students to take the lessons in whatever order they desire, then check this box to disable it.
  • Expire Access – If the course expires after a specific set of time, set it here. When you click the box, you will be asked how many days for the course to expire and if you want the data deleted after expiration.
  • Associated Certificate – If you have created a certificate that you want to associate with this course, select it here. Note that you can go back and add this later, if you don’t have it ready when you first start creating the course.

Screengrab of LearnDash Course Settings

Creating a Lesson in LearnDash


  1. From the Dashboard, select LearnDash LMS > Lessons.
  2. Click the Add New Button.
  3. Enter the title of the lesson and add the lesson content in the editor just as you would any other post or page in WordPress.
  4. Associate the appropriate course with the lesson.
  5. Set the Settings for the lesson as shown below.
  6. If you selected Menu Order as the setting for Sort Lesson By when you originally created the course, then make sure to set the order of this lesson in the Attributes section on the right sidebar. Screen grab of the Attributes panel where the order of lessons is set .
  7. Click on Publish.

To add another lesson under the same course, repeat the steps above. For the Associated Course setting, choose the same course title as the first one.

If you chose Menu Order to order your lessons, be sure to put the succeeding number to what you have on the first lesson.

The settings for the Lesson are:

  • Associated Course – Select the course associated with this lesson.
  • Forced  Lesson Timer – If you want to force the student to remain on that lesson for a specific time before marking it complete, set it here. You may set it in seconds, minutes, or hours designating it as ##sec, ##min or #h for example 40sec, 40min, 1h.
  • Upload Assignment – If the student is required to upload an assignment as part of this lesson, select this option. Once selected, you will be asked if the upload is auto approved or if an instructor must manually approve it. Note that you will need to put the instructions for the assignment in your lesson, and if you have topics in the lesson, they will need to complete the topics before the Upload Assignment button displays.
  • Sample Lesson – Sample lessons are visible to anyone without requiring payment or registration.
  • Make lesson visible x days after signup and Make lesson visible on specific date – If you are dripping content for the course, you have two options, making content visible at a specific time after signup or on a specific date.

Screengrab of LearnDash Lesson Settings.

Note that if you have an assignment at the Lesson level and there are Topics associated with the lesson, the Assignment Upload box won’t appear until the Topics have been completed.

Creating Topics in LearnDash


  1. From the Dashboard, select LearnDash LMS > Topics.
  2. Click the Add New button.
  3. Enter the topic title and then add the content in the editor.
  4. Associate the appropriate course and the lesson.
  5. Set the settings for the topic.
  6. Click the Publish button.

For multiple topics, repeat the steps above for the second topic. Choose the same course in the Associated Course setting. If required, set the Attributes Order according to the order of your topics.

The settings for the topics are:

  • Associated Course – Select the course associated with this topic.
  • Associated Lesson – Set the lesson that will be associated with the topic.
  • Forced Topic Timer – Like the Forced Lesson Timer, this setting allows you to force the student to remain on that topic for a specific time before marking it complete. You may set it in seconds, minutes, or hours designating it as ##sec, ##min or #h for example 40sec, 40min, 1h.
  • Upload Assignment – As with lessons, you may require students to upload an assignment as part of completing a topic.

Screen grab of LearnDash topic settings.

Taking a LearnDash Course


When you go to a Course Page, you’ll see something similar to the Take this Course button. This is an example of Screen grab of the default Take this Course button in LearnDash.a Free course. In this case, the student must register as a WordPress user and login. They may then click on Take this Course to begin the course.

The course page displays the Lessons in the course and a status button next to the lesson name.

Screen grab of LearnDash course content listing showing status of completed lessons.

Click on the first lesson to begin. You will have the option to mark the lesson complete when you are done with the lesson and will be moved to the next lesson.

If a quiz is available, you will be able to take the quiz. Depending on the instructor’s quiz settings, you may or may not be able to see correct answers, retake the quiz etc… For more information on quizzes, join my How to Build an Online Course in LearnDash session.

LearnDash Widgets Available

Screen grab of the LearnDash Class Progress widget.Several widgets are available to display information including Course Progress, Lessons listed showing which have been completed, and a listing of the Courses Available.


LearnDash-lesson-widgetScreen grab of the LearnDash Course Listing widget.

These widgets allow you to provide sidebar and on-page navigation support to the students. Note that the display of widgets can be theme dependent.


LearnDash is a powerful Learning Management System available for WordPress. For more information on this and other Learning Management Systems, see the main Courseware page and the coverage of other Learning Management Systems on this site.

Author’s Note: This article is part of a series of articles covering a variety of WordPress Learning Management System plugins and 3rd Party hosted LMS platforms.