Course Sections

Course Sections

NOTE
This feature was introduced in LearnDash 3.0 and works with the new LearnDash 3.0 template. This feature does not work with the Legacy template.
Course sections provide an additional way to organize your content. You can still structure your course into lessons and/or topics, but now you can add optional sections as well.

Table of Contents [show]1 What Are Course Sections?1.1 Example2 How to Use Sections2.1 Add New Section2.2 Move Sections2.3 Remove Sections2.4 Was this article helpful to you?
What Are Course Sections?
Sections are simple, text-only headings that can be used to break your course content into… sections. They can only be added at the top-level within a course. In other words, sections must be placed before (and outside of) lessons.
✅ Course → Section → Lesson → Topic
❌ Course → Lesson → Section → Topic
Other important notes regarding sections:

Sections are text-only headings. They do not directly contain content. All content is still placed within lessons and/or topics.
There is no limit to the number of sections you use.
Sections are unique to every course. They cannot be shared across multiple courses.

Example
It might be helpful to look at a few situations where you might want to use a course section. Here are a few examples:

Your course only consists of lessons (you』re not using topics at all)
You have 40 total lessons
Those 40 lessons discuss 4 main themes, each theme consisting of 10 lessons

In this example, you might want to use a section before each group of 10 lessons that relate to a particular theme. Your setup might look like this:
Theme 1 (section)

Lesson 1

Lesson 10

Theme 2 (section)

Lesson 1

Lesson 10

… and so on.
How to Use Sections
Add New Section
Before adding a section, you can click on an existing lesson to select it (it will be outlined in blue). Now, when you add a new section heading, it will be placed immediately after the lesson you have selected.
Within the course builder (below any lessons or topics you have already added):

Click the + New Section Heading link
Type the name of your heading
Hit Enter, or click the Add Section Heading button

Move Sections
To drag & drop a heading:

Immediately preceding the section heading, look for an icon with 6 dots
Hover over that icon
Click and hold down your mouse
Drag the section to its new location
Release your mouse

To move a section up or down one level at a time:

Locate the up and down arrows immediately preceding the section heading
Click either arrow to move the section in your desired direction

Remove Sections
To remove a section:

Hover over the section you』d like to remove
Click the red Remove link

Was this article helpful to you?

Yes

No

Focus Mode

Focus Mode

NOTE
This feature was introduced in LearnDash 3.0 and works with the new LearnDash 3.0 template. This feature does not work with the Legacy template.
Focus Mode aims to eliminate distractions & streamline your user』s learning experience – increasing learning retention and completion rates.
Table of Contents [show]1 Where It』s Applied2 What It Does3 Enable Focus Mode3.1 Focus Mode Content Width4 Upload a Logo5 Focus Mode Menu5.1 Adding Menu Items6 FAQ6.1 Was this article helpful to you?
Where It』s Applied
Focus Mode is applied to the following types of LearnDash pages:

lessons
topics
quizzes
assignments

Your course page will not change. It will continue to use the layout that you have chosen for your WordPress theme.
What It Does
When you enable Focus Mode, here is what will change on your site:
✅ Focus Mode is applied on all screen sizes (desktop, tablet & mobile)
✅ Main navigation & footer elements are removed from the page
✅ Any sidebars, if present, are also removed from the page
✅ Course navigation is always visible in a sidebar tray
✅ Course progress is always visible at the top of the screen
✅ Next/Previous lesson & topic navigation is always available at the top of the screen
✅ Mark Complete button is always visible at the top of the screen
✅ User』s avatar is shown in the top navigation, along with 「Course Home」 and 「Logout」 links
Here』s what Focus Mode looks like on a desktop:
Example of Focus Mode applied on desktop
Here』s what it looks like on a mobile device:
Example of Focus Mode applied on mobile
Focus Mode』s mobile menu tray
Enable Focus Mode
There are three important steps in order to enable focus mode:

You must be using LearnDash 3.0 or higher
You must be using the 「LearnDash 3.0」 template
You need to enable the Enable Focus Mode option in the LearnDash general settings

Focus Mode Content Width

When Focus Mode is enabled you have the option to specify the width of the content container. This refers to the width of the actual lesson content and not the width of Focus Mode itself, which will still take up the full screen.
The options include:

Default (960px) – Recommended
Narrow (768px)
Wide (1180px)
Extra-wide (1600px)
Full-width

Upload a Logo
While not required, we recommend uploading a logo to use with focus mode. This logo will appear in the top-corner of all lesson, topic & quiz pages when focus mode is enabled.
To upload a logo:

Navigate to LEARNDASH LMS > SETTINGS
In the Design & Content Elements section, look for Logo Upload
Click the Select image button
Choose an image from your Media Library, or upload a new one
Click Use this image at the bottom
Be sure to save your changes

You can remove your image by clicking the X, or upload a new one by repeating the steps above.

Focus Mode Menu
At the top-right of Focus Mode there is a custom menu that appears when hovering over the profile image (NOTE: the image that is displayed is taken from Gravatar). By default there are two menu choices:

Course Home – this takes the user back to the course page
Logout – this logs the user out of the site

Adding Menu Items
You can add as many custom menu items as you want to the Focus Mode Menu:

Navigate to APPEARANCE > MENUS
Click the Create a new menu link
Under Menu Settings, select LearnDash: Focus Mode Dropdown
Create/add your new menu items
Click Save Menu

NOTE
See the WordPress Menu User Guide if you do not already know how to create a menu in WordPress.
Any menu item that you add to the Focus Mode Menu will display between the default Course Home and Logout menu options. For example, if you added two new menu items then they would look like this:

At this point, when using Focus Mode, we don』t recommend adding sub-menu items since this mode does not support a hierarchical display unlike the usual navigation menus. The Focus Mode Menu does not distinguish between Parent Items and Child Items, i.e., main menu items and sub-menu items.
For example, if you add one menu item and a sub-menu item below that:

Both items will display on the same level, one on top of the other, as shown below:

FAQ
The logo in Focus Mode links to my homepage, can I change this?
Yes. You can use these filters for modifying the Focus Mode logo URL.
Is it possible to enable comments in Focus Mode?
Yes. You can allow comments on Focus Mode content (i.e. Lessons). For example, if you wanted to enable comments on Lessons:

Navigate to LEARNDASH LMS > LESSONS
Click on Settings
From Editor Supported Settings, ensure Comments are selected
Click Save

When editing a Lesson, you will see the Discussion meta box below the content editor where you can select Allow Comments.

Was this article helpful to you?

Yes

No

User Profiles

User Profiles

Creating a profile or account page for your users gives them an easy way to access important features of any LMS:

view all enrolled courses
edit their profile information
jump back into a course where they left off
view awarded points & quiz grades
access any certificates they have earned

LearnDash does not automatically generate a page to display a user』s profile or course information, but there are several tools you can use to build your own custom profile page. We』ll talk about the main LearnDash Profile block/shortcode, some options if you』re using third-party plugins that collect user information, and a few other tips for building a user profile with LearnDash.
Table of Contents [show]1 LearnDash Profile Block/Shortcode1.1 How to Use It1.2 LearnDash 3.0 Template1.3 LearnDash Legacy Template2 Display Enrolled Courses in a Grid3 Uncanny Toolkit Course Dashboard4 Resume Where You Left Off5 List of All Certificates6 WooCommerce Account Page6.1 Custom Endpoint7 Other Options7.1 Course Points8 LearnDash User Profiles Webinar8.1 Was this article helpful to you?
LearnDash Profile Block/Shortcode
The most commonly used solution for creating a LearnDash profile is to use the block (or shortcode) that comes with LearnDash. No additional plugins are required. You simply create a page on your site, and then insert the block/shortcode where you want the profile information to appear.
How to Use It
To use the LearnDash Profile block:

Create a new page in WordPress
Click the + icon to add a new block
Search for 「LearnDash Profile」
Select the 「LearnDash Profile」 block

To use the LearnDash Profile shortcode, simply use this shortcode:
[ld_profile]
For a full list of available options, please see the LearnDash Profile section in our blocks/shortcodes documentation.
LearnDash 3.0 Template
If you』re using LearnDash 3.0+, and have the 「LearnDash 3.0」 template enabled (check settings here), the LearnDash Profile will display the following information:

Avatar (profile image)
Name
Link to edit profile
Total number of courses enrolled in, courses completed, certificates awarded & points earned
List of registered courses, which includes:

ability to search courses
course progress indicators
links to download certificates
quizzes taken, along with date, scores & statistics

LearnDash Legacy Template
If you』re using the 「LearnDash Legacy」 template, your profile will look different, and include the following information:

Avatar (profile image)
Name, Username, Email
Course Points
Link to edit profile
List of registered courses, which includes:

course progress indicators
links to download certificates
quizzes taken, along with date, scores & statistics

Display Enrolled Courses in a Grid
The LearnDash Profile will display all courses in which the user is enrolled. This might be all you need, but you can also use the Course Grid add-on to show enrolled courses in a grid.
First, make sure the Course Grid add-on is installed & activated. Then, if you』re using the latest WordPress editor:

Insert the 「LearnDash Course List」 block
Set the 「My Courses」 option to 「Show Enrolled Courses only」

We also recommend enabling the option to 「Show Progress Bar,」 as this will display the user』s progress in each course.
If you』re using a page builder, or just prefer to use the shortcode, use the following shortcode to output a user』s enrolled courses, with a progress bar:
[ld_course_list mycourses="true" progress_bar="true"]
There are several other options you can use to customize the grid. Please see the Course Grid documentation for full details.
Uncanny Toolkit Course Dashboard
NOTE
This is a third-party add-on that requires the Uncanny LearnDash Toolkit Pro plugin.
With the Uncanny Toolkit Pro, you can use the [uo_dashboard] shortcode to insert a modified version of the [ld_profile] shortcode. It displays similar information, but there are a few key differences. The Course Dashboard:

does not display the user』s profile information (avatar, name, email, etc.)
also displays lessons & topics within each course (which the LearnDash Profile does not)

You can still expand/collapse each course, quickly view overall course progress, view quiz information, certificates, etc. Here』s what the Toolkit』s Course Dashboard looks like:

The Uncanny Toolkit Course Dashboard is also available as a Gutenberg block. There are some additional options you can set, as well. Please see Uncanny Owl』s full documentation.
Resume Where You Left Off
Another really helpful tool for LearnDash users is the ability to jump right back to the previous course, lesson or topic that they last worked on. The free version of the Uncanny LearnDash Toolkit provides this feature with their 「Resume Button」 module. When used on a custom profile page, it simply inserts a button that links to the most recently viewed course, lesson or topic for that specific user.
To use this feature:

Install & activate the free Uncanny LearnDash Toolkit plugin
Navigate to UNCANNY TOOLKIT > MODULES
Enable the 「Resume Button」 module
Add the following shortcode to your profile page, a sidebar, or a page builder, where you want the button to appear

[uo_learndash_resume]
The button defaults to say 「RESUME,」 but you can customize this text. You also have the option to display the title of the course, lesson or topic that the button is linking to.
The Uncanny Toolkit Resume Button is also available as a Gutenberg block.
List of All Certificates
Another helpful shortcode provided by the free Uncanny LearnDash Toolkit plugin is the ability to list all certificates earned by the user. Follow the same instructions above to install the plugin & enable the 「List Certificates」 module, then use this shortcode to display a user』s earned certificates:
[uo_learndash_certificates]
The Uncanny Toolkit List Certificates module is also available as a Gutenberg block. A few additional options are detailed in Uncanny Owl』s documentation.
WooCommerce Account Page
Many LearnDash users choose WooCommerce as an ecommerce platform to sell their courses (see our integration guide). WooCommerce creates its own account area, complete with account details (name, email, etc.), address information, order history, etc. You can tap into this to include a list of enrolled courses.
Example of the WooCommerce 「My Account」 page with a LearnDash Profile (Storefront theme)
If you』re already using WooCommerce, or you』ve gone through the setup wizard, a 「My Account」 page should have already been created for you. If not…

Create a new page in WordPress
Insert this shortcode

[woocommerce_my_account]
NOTE
The design of your WooCommerce 「My Account」 page is heavily dependent on your WordPress theme. If your theme doesn』t offer great support for WooCommerce, you might want to check with your theme developer, or possibly hire someone to help with the design.
On this same page, you can insert any of the tools we highlighted above (LearnDash Profile, Resume Button, List of Certificates, etc.). Whatever you insert onto this page will be displayed on all WooCommerce account sub-pages (dashboard, orders, addresses, account details, etc.). This might not be ideal, in which case you can explore the next section.

WARNING
By default, WooCommerce blocks non-admin users from entering WP Admin, or seeing the WP Admin bar. This includes the WP Profile.
Click here for a workaround.
Custom Endpoint
NOTE
Development experience is highly recommended.
The 「My Account」 section of WooCommerce operates on what are called 「endpoints.」 Each endpoint is essentially another page within the My Account section of your website. Endpoints represent the part of the URL that follows your /my-account/ page. A few examples of built-in WooCommerce endpoints for the My Account area include:

Orders – /my-account/orders/
Addresses – /my-account/addresses/
Edit Account – /my-account/edit-account/

WooCommerce provides the ability for anyone to create their own endpoint. The most obvious way to integrate this with LearnDash would be to create an endpoint for courses. Your endpoint could look something like this:

Courses – /my-account/courses/

On this new endpoint, you could then insert any type of profile/course information that we highlighted above. This would allow your user』s course information to have it』s own page and URL. You have complete freedom over the type of endpoint(s) you create, and can insert any type of content you』d like.
View WooCommerce』s documentation on endpoints and/or search the web for how to create a custom endpoint.
Other Options
Course Points
If you』re using LearnDash』s built-in points system, you could use the [ld_user_course_points] shortcode (or block) to insert the user』s total points onto a custom profile page. That would output this:
Earned Course Points: 100
LearnDash User Profiles Webinar
Check out our latest webinar about setting up, building and customizing your user profiles with LearnDash, along with other tips and tricks on how to make it easier for you and your users to update and manage your user profiles.

Was this article helpful to you?

Yes

No

Sample (Free) Lessons

Sample (Free) Lessons

The LearnDash sample lesson feature makes it possible for people to view some of your course content without having to enroll into the course. When a user clicks on a sample lesson they can view that content without needing to log into an account, or having to enroll into the course. You can have an unlimited number of sample lessons for your course. You can have sample lessons for both free and paid courses.
NOTE
See the Lessons Documentation for complete details on creating lessons and an explanation of all the lesson settings.
Table of Contents [show]1 Sample Lesson Settings2 The User Experience2.1 Demo3 Require Log-in to View Sample Lessons4 Sample Lessons Use-Cases5 FAQ5.1 Was this article helpful to you?
Sample Lesson Settings
The only requirement for using the sample lesson feature is that your course Access Mode is set to anything but 「Open」. Then, designating a lesson as a sample lesson requires configuring just one setting.

From the WordPress dashboard, navigate to LEARNDASH LMS > LESSONS
Select the desired lesson and click Edit
Click Settings
Scroll down to Lesson Access Settings
Toggle on the Sample Lesson option
Click Update

The User Experience

When a visitor views the course content table, the sample lesson(s) will be indicated by a 「Sample Lesson」 label. When the lesson is clicked, visitors are immediately taken to the lesson content. It is not possible to mark a sample lesson as complete. To do so, a visitor will need to have an account and be enrolled into the course.
NOTE
If a sample lesson includes topics and/or quizzes, then those too are marked as samples and can be viewed.
Demo
The following is a demonstration of a sample lesson that is on the LearnDash demo site. In it you can see that the first lesson is the sample lesson. The other lessons are not accessible and therefore provide a tooltip indicating that enrollment is required.

Require Log-in to View Sample Lessons
While not currently a setting available within LearnDash, it is possible to configure your sample lessons so that they can only be viewed by visitors who have an account and are logged-in by using a free plugin.

From the WordPress dashboard, go to PLUGINS > ADD NEW
Search for Restrict Content

Click Install Now, then click Activate

Now that the Restrict Content plugin is installed, you need to configure a message to display when someone attempts to access the sample lesson without being logged-in.

From the WordPress dashboard, navigate to SETTINGS > RESTRICT CONTENT
Add your desired message into the Subscribers field
Click Save Options

The final step is to protect your sample lesson(s) for WordPress Subscriber roles only so that the above message displays to those who are not yet logged-in.

From the WordPress dashboard, navigate to LEARNDASH LMS > LESSONS
Select the desired lesson and click Edit
Scroll down until you locate the Restrict this content settings
From the User Level dropdown menu, select Subscriber
Click Update

The configuration is complete and your sample lesson is now protected. This means that the content can only be viewed by someone who has an account and is logged-in. If they are not logged-in, then they will be presented with the message you entered into the Restricted Content settings.
Sample Lessons Use-Cases

You want to entice prospective customers to purchase a course by offering the first lesson for free
You want to capture email addresses (leads) of people interested in your course
You want to offer the entire course for free without requiring an account, but want to sell access to the final exam

FAQ
Can I mark a lesson as a sample but prevent access to the topics?
No. Topics associated with the lesson adopt the sample lesson parameter are visible as well.

Was this article helpful to you?

Yes

No

Translation

Translation

LearnDash is in English and has user-donated translations. Strings in the LearnDash codebase are translatable.
You can use free software like poEdit to create and modify LearnDash translation files for your language. Or a free WordPress plugin like Loco Translate.
Table of Contents [show]1 Current Translations2 Adding (or Modifying) a Translation3 Common Issues3.1 Not Updating from Latest POT File3.2 Translations Set to 「Needs Work」3.3 Unexpected Locale3.4 Incorrect Folder3.5 Incorrect File Name3.6 Not Accounting for All Contexts3.7 Not Considering Strings from Third-Party Code3.8 Was this article helpful to you?
Current Translations
NOTE
As the translations are user-donated, they may not be 100% complete for your desired language.

Arabic (ar)
Chinese (zh_CN)
Danish (da_DK)
Dutch / Nederland (nl_NL)
French (Canada) (fr_CA)
French (France) (fr_FR)
German (de_DE)
Hebrew (he_IL)
Italian (it_IT)
Polish (pl_PL)
Portuguese (Brazil) (pt_BR)
Russian (ru_RU)
Spanish (Spain) (es_ES)
Swedish (sv_SE)

Right-to-left (RTL) languages are supported.
Adding (or Modifying) a Translation
If you are creating a new translation, you can reference this helpful list of WP Locale Codes for file naming conventions.
​If you need to update a translation, you can do so by following these steps:

​Navigate to LEARNDASH LMS > SETTINGS > TRANSLATIONS
Download the latest POT file by clicking the POT download button (it will automatically download)
Download the .po file by clicking the PO download button (it will open in a new tab)
Right click & save the file
Open the .po file with PoEdit
Navigate to CATALOG > UPDATE FROM POT and select the downloaded POT file in step 2
Make your additions and/or modifications to the translation file
Save the .po file
Regenerate the new .mo file via FILE > COMPILE TO MO
Using an FTP program or File Manager, add your new .mo and .po files to the /wp-content/languages/plugins/ folder

NOTE
Verify that the file is named correctly and in the proper directory. If one or both of these is incorrect then you will encounter issues.

Common Issues
Not Updating from Latest POT File
If you are translating strings such as 「Next Lesson」 and noticing that the translation is not reflected on your site, then that is because you are translating from an out of date POT file.
The string in the codebase of LearnDash is actually 「Next %s」 because the %s acts as a placeholder for your Custom Label (even if you do not use Custom Labels).

This may also be why you notice that all of a sudden you have 「lost」 translations of strings like 「Next Lesson」 and 「Previous Course」 and other strings that contain a custom label. However, the translation is not necessarily lost. It is no longer used because the codebase is now using placeholders in those strings, not the literal words such as Lesson or Course.
To resolve, download the latest POT (step #2), then follow steps 6-10 to update from the latest POT, add translations for the new strings as needed, and upload your new .mo/.po files to the right place.
Translations Set to 「Needs Work」
Be mindful of 「Needs Work」 settings on individual translations. This is typically indicated by an orange color, and an orange toggle after selecting the individual translation in poEdit.

When 「Needs Work」 is set on a translation, you are telling WordPress that you are not sure that this is the correct translation. Therefore, WordPress does not display this translation on your site because it thinks the translation 「Needs Work」 as per your instructions.
To resolve, toggle the 「Needs Work」 setting to off. It should look like similar to the screenshot below.

Then, save your new .mo/.po files and upload as per step 10 in the above documentation.
Unexpected Locale
WordPress translations may be localized to a particular region. For example, es_ES would be Spanish in Spain, and es_MX would be Spanish in Mexico.
As far as WordPress is concerned, these are totally different languages (technically, referred to as 「localizations」).
If your WordPress site localization is set to es_MX, then that setting will not pull any information from your es_ES translation files (even though to you, the differences in language may be minor).
Incorrect Folder
Please ensure your LearnDash translation files are in the folder path below, with the file names that include locale code. For example:

/wp-content/languages/plugins/learndash-es_ES.po
/wp-content/languages/plugins/learndash-es_ES.mo

It is not a good idea to store your customized translation files inside directories such as /wp-content/plugins/sfwd-lms/languages/ due to risk of overwrite in the event of a plugin update.
Incorrect File Name
This section is to highlight the correct file name format, already seen in the above 「Incorrect Folder」 issue.
learndash[hyphen][locale code, underscores used as separators].po
Please ensure your hyphens and underscores are in the right places. This is correct:

learndash-es_ES.po

These are not:

learndash_es_ES.po (underscore instead of hyphen is incorrectly placed between learndash and es_ES).
learndash-es-ES.po (hyphen instead of underscore is incorrectly placed between es and ES).

The .po and .mo files should be identically named, except for the file extension.
Not Accounting for All Contexts
Translating a word once does not necessarily change the word in all strings in which that word occurs.
Words used in different contexts may be the same in your language. For example, 「quiz」 may serve as both a verb and a noun in English.
Understand that other languages may use different words depending on the context, and your translation files will need to account for that on a string-by-string basis.
PoEdit and Loco Translate both have search features to ensure you are accounting for every instance of a word in the translation files.
Not Considering Strings from Third-Party Code
Not every translatable string seen on a LearnDash-related page, such as a page that contains what appears to be a Course Grid or Login Form, is from the LearnDash codebase. Therefore, you may not be able to find the word you need to translate in the LearnDash file source text.
Or maybe you do, however the string output is coincidentally duplicated in third-party code where it is actually being output.
This is especially common with WordPress themes built with LearnDash in mind, such as BuddyBoss, that override template files (or other third-party addons for LearnDash).
For example, the LearnDash source text includes the string 「Incorrect username or password. Please try again」
You change that string in your LearnDash .po file, but notice it is not reflected on your site. Other parts of your LearnDash translation are working as intended.
This may be because the string is actually output by third-party code, and is coincidentally using the same string. You would need to translate it separately.

Was this article helpful to you?

Yes

No

Page Builders + LearnDash

Page Builders + LearnDash

One of the most common set of questions our support team gets asked is how LearnDash works with page builders.

Which page builder plugins are compatible with LearnDash?
What』s the best page builder to use?
How do I customize the layout of my LearnDash courses, lessons & topics with a page builder?
Can I use a free page builder or do I need the pro version?

In this comprehensive guide, we』ll answer all of those questions, as well as walk you through exactly how to use specific page builders to best design your LearnDash courses. We』ll focus on three of the most popular WordPress page builders:

Elementor
Beaver Builder
Divi

Before we dive into the specifics of each, it』s important to understand what a page builder can & cannot do. We』ll also cover some basics that apply to how all page builders interface with LearnDash, no matter which one you choose to use.
NOTE
This guide assumes you are using the LearnDash 3.0 active template. With the exception of Elementor (which requires LearnDash 3.0), most of the concepts also apply to the Legacy template, but there could be some inconsistencies. We』ll also be using the new WordPress editor (aka: Gutenberg). Screenshots will look different if you』re using the Classic Editor plugin.
Table of Contents [show]1 How Page Builders Work2 How LearnDash Adds Content to the Page2.1 Dynamic Content2.2 Your Own Course, Lesson, Topic & Quiz Content2.3 LearnDash Blocks2.4 LearnDash Shortcodes2.5 LearnDash Widgets2.6 An Exception: Focus Mode2.7 Summary3 Choosing a Theme3.1 General Page Layout4 Enable Page Builder for LearnDash Post Types4.1 Elementor4.2 Beaver Builder4.3 Divi5 Using Shortcodes with Page Builders5.1 Elementor5.2 Beaver Builder5.3 Divi6 Using Widgets with Page Builders6.1 Elementor6.2 Beaver Builder7 Basic Content Editing with Page Builders7.1 Conditionally Show/Hide Content7.1.1 Elementor Example7.1.2 Beaver Builder Example7.1.3 Divi Example8 FAQ8.1 Was this article helpful to you?
How Page Builders Work
An entire book could be written on this topic, but that』s obviously not the focus of this article. However, there are a few basic things you should understand about how page builders work.

Almost all page builders let you design the main content of a page, post, course, lesson or other custom post type. Essentially, the same content that you would add via the default WordPress editor. This does not include your site』s header, sidebars or footer.
Most pro versions or premium page builders do let you design your site』s header, sidebars and footer. (Elementor Pro』s Theme Builder, Beaver Themer, etc.)
All page builders come with their own set of elements that you can use to design & lay out your content (columns, headings, lists, tables, icons, photo galleries, etc.).

These differ depending on the page builder you』re using, as well as the free vs pro version of that particular builder.

Keeping in mind the type of content a page builder has control over, let』s talk about how LearnDash content is added to your site』s pages.
How LearnDash Adds Content to the Page
There are several ways LearnDash content gets added to a page. The differences are important to understand, as they directly apply to whether or not they can be controlled or modified via a page builder.
Dynamic Content
Dynamic content refers to content that you, the site owner, does not directly add in the WordPress editor. Based on the type of page that a user is viewing (course vs. lesson vs. topic), as well as how that course is configured, LearnDash automatically adds content to the page.
Examples of dynamically added LearnDash content include, but are not limited to:

On a course page: For non-enrolled users, the current status, price & get started sections at the top. For enrolled users, the date of last activity, progress bar & status indicator.
On a course page: The course content list at the bottom, which contains all lessons, topics & quizzes assigned to that course
On a lesson page: The list of topics assigned to that lesson
On lesson/topic pages: The assignments area, which provides a way for the user to upload assignments, and lists all uploaded assignments
In Focus Mode: The header, which includes a logo (optional), course progress, navigation buttons, and an avatar w/ dropdown menu
In Focus Mode: The sidebar, which contains the course title and navigation links

✅ You CAN edit LearnDash dynamic content with Elementor (using our compatibility integration)
❌ You cannot edit LearnDash dynamic content with Divi
❌ You cannot edit LearnDash dynamic content with  BeaverBuilder
DEVELOPERS
If you』re comfortable with HTML & PHP, you can override LearnDash template files. This allows you to customize the dynamic content, as well as change where on the page it gets inserted. Technical experience required.
Your Own Course, Lesson, Topic & Quiz Content
This refers to the content which you, the site owner, have direct control over. For all course, lesson, topic & quiz pages, you can freely add & edit whatever content you』d like.
✅ If you』re using a page builder, you can design this content with your page builder of choice.
However, LearnDash determines where on the page it will go.

For example, on a lesson page (using Focus Mode), your own content will always be placed after the breadcrumbs and before the next & previous lesson buttons. If you』ve added materials to the lesson, two tabs will be inserted dynamically:

Lesson
Materials

Your own lesson content will be added directly below the 「Lesson」 tab.
Keep in mind, only your own content, added in this specific area, can be edited with a page builder. All other page elements in Focus Mode are controlled solely by LearnDash (or by using one of two popular third-party LearnDash design plugins, Design Upgrade Pro or Visual Customizer).
LearnDash Blocks
LearnDash blocks provide a way for you to add specific LearnDash information to the main content area of a page, but only if you』re using the latest version of the WordPress editor (aka: Gutenberg). Blocks only work within Gutenberg.

A few examples of LearnDash blocks include:

LearnDash Profile: displays a user』s profile & registered courses
LearnDash Course List: displays a list of courses, or a grid if using the Course Grid add-on
LearnDash Course Progress: displays a progress bar showing the user』s progress in that course

❌ When using a page builder, there is no way to add a LearnDash block to your page.
LearnDash Shortcodes
Every LearnDash block has an accompanying shortcode. A shortcode is a simple piece of text that outputs specific LearnDash information. Many shortcodes come with parameters (or options) that let you customize which information is displayed. See our complete guide on LearnDash shortcodes.
A shortcode looks like this:
[ld_profile]
This example outputs a user profile, complete with their profile image, name, some basic stats, and a list of courses they』re enrolled in, along with their progress in each.
✅ The big advantage of shortcodes over blocks is that they can be used with all page builders.
Exactly how to use LearnDash shortcodes depends on which page builder you are using, which we』ll go into more detail below.
LearnDash Widgets
Widgets are a core part of WordPress. They are pieces of functionality that can easily be added to any WordPress sidebar area. LearnDash provides a handful of widgets as well. LearnDash widgets provide the ability to add course navigation, course lists, and other various course elements. We have a complete guide on widgets here.
The following page builders allow the use of LearnDash widgets:
✅ Elementor: Free & Pro
✅ Beaver Builder: Free & Pro
❌ Divi: No (you can add entire sidebar areas but not individual widgets)
An Exception: Focus Mode
Focus Mode works a bit differently than the rest of the pages on your site. The same ideas for how content is added still apply, but when Focus Mode is enabled, your site』s normal header, sidebar & footer are removed.
❌ The header is dynamic content, not editable with a page builder
❌ The sidebar course navigation is dynamic content, not editable with a page builder
❌ The page title, progress meter & breadcrumbs are dynamic content, not editable with a page builder
✅ The lesson, topic & quiz content (below the breadcrumbs) is your own content, and this is editable by a page builder
Summary

Dynamically added by LearnDash is only editable with Elementor (using our compatibility add-on)
Focus Mode design elements cannot be edited with page builders
All content added by you, via the WordPress editor, is editable with page builders
When designing with a page builder, use LearnDash shortcodes & widgets (not blocks)

Choosing a Theme
If you want to use a page builder with LearnDash, the theme you choose will have some impact on how you can design your content. Just about all WordPress themes work with page builders (and with LearnDash), but some work better.
In general, themes that explicitly provide page builder support will give you more control over the design of your courses. A few popular themes that have been specifically designed for use with page builders are:

Astra
GeneratePress
OceanWP

You don』t have to use one of these themes. All WordPress themes (built to the proper standards) work with LearnDash. We just wanted to highlight the ones that give you the most flexibility.
General Page Layout
Using one of the aforementioned themes provides you with some advantages over other themes, particularly when it comes to using a page builder.
NOTE
These settings vary from theme to theme. Not all themes will have these options, but the themes mentioned above have some variation of them.

Content width: Multiple options are typically available for narrow, wide, full-width and/or 100% stretched
Sidebars: You can choose to enable/disable the sidebar on individual pages, or choose which side it should appear (right or left)
Disable page title: This allows you to hide the default page title that is included at the top of the page, and add your own using a page builder
Disable featured image: This allows you to hide the featured image that is usually displayed at the top of your course page

Here are a few examples:
Individual page settings using the free Astra theme
Individual page settings using the free GeneratePress theme
Individual page settings using the free OceanWP theme (requires the 「Ocean Extra」 plugin)
NOTE
If you want to control your layout & spacing completely with a page builder, you probably want to set your page settings to use no sidebar, and a content width of 「full」 or 「stretched.」

Before we get into specific examples with each page builder, let』s make sure your builder is enabled for use with LearnDash.
Enable Page Builder for LearnDash Post Types
Before you can use a page builder with LearnDash, you need to ensure that you』ve enabled the page builder to work with LearnDash custom post types. If you can』t find a way to edit a piece of LearnDash content using your page builder, try following these steps to enable it.
Elementor

Navigate to ELEMENTOR > SETTINGS
In the 「Post Types」 section, check the boxes for Courses, Lesson, Topics & Quizzes (or just select the ones you need)
Click 「Save Changes」

Now you will see the 「Edit with Elementor」 button on the post types you selected.

ELEMENTOR PRO
If you』re using Elementor Pro to build custom templates for LearnDash content, please see this article on how to get LearnDash post types to appear in the post type menu.
Beaver Builder

Navigate to SETTINGS > BEAVER BUILDER
Click on 「Post Types」
Check the boxes for Courses, Lesson, Topics & Quizzes (or just select the ones you need)
Click 「Save Post Types」

Divi
By default, Divi should be enabled for courses & lessons, but if you want to use it with topics and/or quizzes, you』ll need to enable it.

Navigate to DIVI > PLUGIN OPTIONS
Click on the 「Post Types Integration」 tab
Click the post types for Topics & Quizzes (or just select the ones you need)
Click 「Save Settings」

Using Shortcodes with Page Builders
Shortcodes are one of two ways you can add LearnDash-specific content using a page builder. Let』s go through exactly how to add use shortcodes in each page builder.
Elementor
When you go to edit a piece of LearnDash content (course, lesson, topic or quiz), you』ll have an 「Edit with Elementor」 button at the top. Click this button to open your content with Elementor.

If you haven』t added any of your own content to the page yet, you will see a pretty blank page. Your global header & footer should be there, but you won』t see any dynamic LearnDash content while the course is still a draft. Once you publish the course, the LearnDash dynamic content will appear in the preview screen.
Example of a LearnDash course page as you begin to edit it with Elementor
So keep in mind, what you are adding to the page with Elementor will show up in a particular area, along with the dynamic content that LearnDash adds.
To add a shortcode to your page with Elementor:

Locate the 「Shortcode」 widget in the left panel
Click, hold & drag the widget somewhere on the page
In the left panel, type any LearnDash shortcode
You might need to click the green 「Apply」 button to preview it
When you』re finished editing, be sure to click the 「Publish」 or 「Update」 button at the bottom

Use the full power of Elementor to add other widgets on the page (before or after LearnDash shortcodes)
Use Elementor』s columns to place LearnDash shortcodes next to other content
Get creative by adding backgrounds & other design options to the Section that contains your LearnDash shortcode
Add as many LearnDash shortcodes to a page as you』d like

Beaver Builder
When you go to edit a piece of LearnDash content, you』ll have a 「Launch Beaver Builder」 button where your content would normally appear. Click this button to open your content with Beaver Builder.

You won』t see any dynamically added LearnDash content in your preview until you publish the course. The content you add will be placed in-between LearnDash』s dynamic content.
To add a shortcode to your page with Beaver Builder:

Locate the 「HTML」 module in the left panel
Click, hold & drag the module somewhere on the page
In the left panel, type any LearnDash shortcode
Click the 「Save」 button at the bottom to preview it
When you』re finished editing, be sure to click the 「Done」 button in the top-right corner, and then either 「Publish」 or 「Update」 to save your changes

Divi
When you go to edit a piece of LearnDash content (course, lesson, topic or quiz), you』ll see a 「Use The Divi Builder」 button at the top. Click this button to open your content with Divi.

When you first launch Divi, you might be prompted with a few options:

Build from Scratch
Choose a Premade Layout
Clone Existing Page

Choose the option that best meets your needs. You will then be sent to Divi』s visual builder screen.
To add a shortcode to your page with Divi:

Click the green + icon to add a new row
Choose the the layout of your row
Then choose the 「Code」 module (the 「Text」 module will also work)
Type in any LearnDash shortcode
Click the green checkmark icon
When you』re finished editing, be sure to click the three dots at the bottom of the screen, and then the 「Save」 button

Using Widgets with Page Builders
In addition to shortcodes, widgets are another method of adding LearnDash content via a page builder. Let』s cover the specifics of each page builder that allows for the use of LearnDash widgets.
Elementor
In Elementor, the LearnDash widgets are located in the 「WordPress」 section in the left panel. You can also access them using the 「Search Widget…」 bar at the top. The following LearnDash widgets are available:

Course Progress Bar
Course Navigation
Course Information
User Status
Course
Lesson
Quiz
Certificates

To add a LearnDash widget to your page with Elementor:

Locate the widget you want to add from the left panel
Click, hold & drag the widget somewhere on the page
(optional) In the left panel, give your widget a title and adjust the available settings
You might need to click the green 「Apply」 button to preview it
When you』re finished editing, be sure to click the 「Publish」 or 「Update」 button at the bottom

Beaver Builder
The same widgets mentioned above (for Elementor) are also available for Beaver Builder.
To add a LearnDash widget to your page with Beaver Builder:

In the left panel, either switch your module group to 「WordPress Widgets」 or use the search feature

Locate the widget you want to add
Click, hold & drag the widget somewhere on the page
(optional) In the left panel, give your widget a title and adjust the available settings
When you』re finished editing, be sure to click the 「Done」 button in the top-right corner, and then either 「Publish」 or 「Update」 to save your changes.

Basic Content Editing with Page Builders
Now that you know how to add LearnDash shortcodes & widgets to your favorite page builder, let』s talk about a few basic editing rules that apply to all page builders when you』re working with LearnDash.
Conditionally Show/Hide Content
LearnDash provides a few shortcodes you can use to show content to a specific type of user:

[student] and [/student] – only visible to someone who is registered for the course
[visitor] and [/visitor] – only visible to someone who is not registered for the course

These can be especially useful for:

providing registered students with student-only content on the course page
displaying a sign-up/purchase message to non-registered users when they』re viewing sample lessons
…or any number of other creative applications

Unlike other LearnDash shortcodes, these cannot be used within a shortcode widget. They must be used within a text editor or HTML widget.

Elementor: Use the 「Text Editor」 or 「HTML」 widget
Beaver Builder: Use the 「Text Editor」 or 「HTML」 widget
Divi: Use the 「Text」 or 「Code」 widget

You can place any content you』d like between the shortcodes, just make sure it is all contained within the same element. You cannot have an opening [student] shortcode in one element, add some content in subsequent elements, and then place your closing [/student] shortcode in another element.
NOTE
If you』re using the free Uncanny LearnDash Toolkit, you can also use the [uo_show] shortcode to show content to logged in vs. logged out users (regardless of course enrollment status).
Elementor Example
We recommend using the 「Text Editor」 widget in Elementor
Beaver Builder Example
We recommend using the 「Text Editor」 module in Beaver Builder
Divi Example
We recommend using the 「Text」 module in Divi
FAQ
I』m using a page builder not mentioned in this article. Can I still use it with my LearnDash-powered site?
Yes. The same principles mentioned in this article apply to all WordPress page builders. The widgets & modules you use might be named differently, but the concepts are the same.

Was this article helpful to you?

Yes

No

Topics

Topics

If you』ve got a lot of content, you can use topics to create even more hierarchy in your course. Some course admins might only create section headings, and add lessons to each section, but topics give you one additional level of organization.
NOTE
Topics must be added to lessons. You cannot have a course with only topics. If your course only requires one level of hierarchy, simply uses lessons instead.
Just like lessons, you can add many different types of course material to your topics—text, images, video, PDFs, presentation slides and more. You』ve also got a few additional display settings for topics. There are a few distinct differences between lessons & topics, all of which we』ll cover in this section.

Global Topic Settings
Settings applied to all topics on your site
Display & Content Settings
Add materials, configure video settings, control assignment uploads & topic timers
Create Topic Content
Add text & images, insert videos, embed interactive content, etc.

Lessons vs. Topics
In LearnDash, there are a lot of similarities between lessons & topics, but there are a few important distinctions. If you find yourself unsure about the difference between lessons vs. topics, let』s clear things up.

Lessons are listed above topics in the course hierarchy

You can have a course with only lessons, but you cannot have a course with only topics. Topics can only be added beneath lessons.

You can offer sample lessons, but not sample topics
You can only drip-feed & schedule lessons for a later date. There are no direct scheduling options for topics.

However, topics do inherit the schedule of their parent lesson. If a lesson is scheduled for January 1, 2020, all the associated topics will be released on January 1 as well.

Sections are very different from lessons & topics. To learn more, see our article explaining course sections.
Here』s a visual overview of lessons & topics compared.

Lessons
Topics

Add Content
Text, images, video, links, PDFs, slides & more

Video Progression

Add Materials

Upload Assignments

Force Minimum Required Time

Sample Content

Schedule for Future Access
Topics inherit the parent lesson』s schedule

Was this article helpful to you?

Yes

No

Lessons

Lessons

Lessons are a place for you to start building out your actual course material. You can include text, images, video, audio, PDFs and virtually any other type of third-party or embeddable content. This section will explain everything you can do with LearnDash lessons—free sample lessons, timers, additional materials, assignments and more.

Global Lesson Settings
Settings applied to all lessons on your site
Configure Lesson Access
Sample lessons, drip content & schedule lesson availability
Display & Content Settings
Add materials, configure video settings, control assignment uploads & lesson timers
Create Lesson Content
Add text & images, insert videos, embed interactive content, etc.

If you』re looking to organize your course content even further, consider adding topics to your lesson, or grouping your lessons with course sections. You might also want to assign a quiz to a lesson.

Was this article helpful to you?

Yes

No

404 Errors on LearnDash Pages

404 Errors on LearnDash Pages

There are many reasons why you may be seeing a 404 error. One common reason is when a theme or plugin calls a flush rewrite rule. Here are a couple things you can try:
Table of Contents [show]1 Step 12 Step 22.1 Was this article helpful to you?
Step 1
Try re-saving your WordPress permalinks:

Navigate to SETTINGS > PERMALINKS
Scroll to the bottom and click Save Changes

This performs a hard flush of your rewrite rules and will update your .htaccess file. This is a plugin- & theme-agnostic solution that corrects 404 issues the majority of the time.
Step 2
If you』re still having issues, try to reverse any recent changes you made on your site. Did you update a theme or plugin? If so, try deactivating the new plugin or revert to a prior version of the theme. You should also test with a default WordPress theme, like Twenty Nineteen. After reversing your changes, repeat Step 1.
If you』re still having issues, please contact support.

Was this article helpful to you?

Yes

No

Certificates

Certificates

Certificates are a great way to reward your students for a job well done. You might want to offer an official certification, or just give them a tangible way to prove their competence.
You can award certificates in two ways:

Upon successful completion of a course
Upon the passing of a quiz

Using certificates in LearnDash is a 2-step process:

Create a certificate
Associate the certificate with a course or quiz

This section will explain how to create a certificate. Please see our other docs for associating them with a course or a quiz.

Create Certificates
How to design & add text to a certificate
Certificate Shortcodes
Options for displaying dynamic content on a certificate

Was this article helpful to you?

Yes

No