Settings

Settings

The LearnDash settings screen is where you apply some global settings for your LearnDash site. It』s a good idea to go through these settings before you start building your learning platform. Most of these settings will apply to all courses, lessons, topics and quizzes that you create.
Upon installation, LearnDash will apply a set of default settings, but we recommend you make any necessary adjustments before you get going.
Access your LearnDash general settings by navigating to LEARNDASH LMS > SETTINGS in the WordPress admin area.

You』ll see a navigation menu across the top of the screen. Each one of these items will take you to a page with different LearnDash settings. For a detailed explanation of the settings, please visit the following articles:

General Settings
Registration
Emails
Payments
PayPal Settings
Advanced Options
Permalinks (URLs)

Was this article helpful to you?

Yes

No

Course Grid Add-On

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.
Course Grid 2.0 moves towards being more user-friendly with its mainly Gutenberg (Blocks) based options. It also brings new options for skins, built in filter abilities, and tons more customization options that you can mix and match to get the look and feel that you like for your website.
NOTE
The latest iteration of the Course Grid Add-on, Course Grid 2.0, brings even more features to the already vast possibilities with the original Course Grid Add-on.
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]1 Features2 Installation3 Using the Course Grid3.1 Block3.2 Shortcode4 Options (Blocks Parameters)4.1 Template4.1.1 Skin4.1.2 Card4.1.3 Columns4.2 Query4.2.1 Post Type4.2.2 Posts Per Page4.2.3 Order By4.2.4 Order4.3 Elements4.3.1 Thumbnail4.3.2 Featured Image4.3.3 Thumbnail Size4.3.4 Ribbon4.3.5 Content4.3.6 Title4.3.7 Clickable Title4.3.8 Description4.3.9 Meta4.3.10 Button4.3.11 Pagination4.3.12 Progress Bar4.3.13 Filter4.4 Filter4.4.1 Search4.4.2 Taxonomies4.4.3 Price4.5 Styles4.5.1 Equal Grid Height4.5.2 Heading4.5.3 Description5 Options (Shortcode Parameters)5.1 Columns5.2 Progress Bar5.3 Number of Courses5.4 Sort Order5.5 Hide Content or Image5.6 Enrolled or Not-Enrolled Courses5.7 Dropdown Menu Filter6 Featured Image7 Ribbon8 Call-to-Action Button9 Additional Grid Information9.1 Short Description9.2 Duration9.3 Custom Button Text9.4 Ribbon Text9.5 Video Preview10 Lessons, Topics & Quizzes10.1 Lessons10.2 Topics10.3 Quizzes11 Shortcode Examples11.1 Was this article helpful to you?
Features
First, let』s take a look at what the course grid can and cannot do.

Feature
Included?

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)

Search Courses

Filter Courses

Change Skin

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)

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

Option 2: Manual Upload

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

NOTE
Course Grid 2.0 is a direct upgrade to the original add-on so you can upgrade your existing Course Grid via the WordPress Updates Dashboard.
Using the Course Grid
There are two ways in which you can add a grid to any page on your LearnDash site:

Block: Best for those using blocks editor such as Gutenberg. This is primarily the main option available for Course Grid 2.0
Shortcode: Best for those using page builder plugins (Elementor, Beaver Builder, Divi, etc.) or the WordPress Classic Editor. The options may be limited while using shortcodes vs. the blocks editor version of Course Grid.

DEVELOPERS
You can also add the course grid shortcode to your theme files via the do_shortcode() function.
Block
Blocks are available if you』re using the latest WordPress editor that shipped with WordPress 5.0 (aka: Gutenberg).
You』ll have more features & options as the shortcode provides, and the 「LearnDash Course Grid」 block makes it even easier to insert and customize your grid.

To add a course grid block:

Make sure the 「LearnDash Course Grid」 plugin is installed & activated
Click the + icon to add a new block
Search for 「LearnDash Course Grid」 & click on the block to insert it
Adjust your settings in the Block options panel

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

Please see the options table below for the many ways in which to customize the course grid.
Options (Blocks Parameters)
The following options are available to customize the output of your LearnDash course grid.

Template
This set of options allows you to customize how your course grid is rendered and formatted on the page. You can select different skins, card styles, and choose the number of columns on each grid.

Skin
With Course Grid 2.0 comes the introduction of different 「Skins」 to the course grid. You are no longer stuck with just a simple grid style, here you can select:

Grid
Masonry
List
and more coming soon…

NOTE
You can also implement your own 「Skin」 by modifying the Child Themes. Check out our Course Grid 2.0 templating guide to learn how.
Card
This setting allows you to choose between the different pre-made layouts for each type of skin. Pick one to your liking.
Columns
This setting allows you to customize the number of columns your course grid will display the cards in. The default is 3.
Query
This set of options allows you to customize which post types and how many are shown on each page of the course grid. This also allows you to customize which order you want them to be displayed.

Post Type
With Course Grid 2.0, you can now select a variety of post types to be displayed on the course grid. You have a vast set of options available that depends on your website, as long as the post type can be queried publicly. If not, the Course Grid will not be able to show the posts.

Posts Per Page
This setting allows you to indicate how many posts are displayed per page on the Course Grid. You can further customize the pagination options with its own set of options below.
Order By
This setting allows you to choose by which order you want the items to appear on the page. You can select by:

ID
Title
Published Date
Modified Date
Author
Menu Order

Order
This allows you to choose whether to display the cards in Ascending or Descending order based on the 「Order By」 setting above.
Elements
This next tab allows you to further customize your Course Grid tabs by adding or removing certain elements such as the ribbon, title, etc. These options were previously available as shortcode options on the original Course Grid add-on.

Thumbnail
This setting gives you the option to show or hide the thumbnails of each card. Do note that the thumbnails are based on the featured images on the original Course, Topic, Lesson, etc.
Featured Image
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:

Navigate to LEARNDASH LMS > COURSES
Click on the course you』d like to add an image to
In the sidebar, look for an area titled Featured Image
Click 「Set featured image」
Choose your image from the Media Library, or upload a new one
Click the Select button at the bottom
Don』t forget to click Update to save the changes

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.
Thumbnail Size
This setting allows you to choose the thumbnail size of your Course Grid card. The preset sizes are dependent on the available sizes on your WordPress site.
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.
Content
Content includes elements in the area outside of the thumbnail such as:

Total Students
Total Quizzes
Total Lessons
Title
Author
and others…

Title
This setting allows you to choose whether or not to show the title of the course.
Clickable Title
This setting allows you to choose whether or not to make the title of the course clickable. If you enable this setting the user will be redirected to the respective course page.
Description
This setting allows you to choose whether or not to show the description of the course. See below on how to customize the course description.
Meta
This setting allows you to choose whether or not to show the meta description of each course on the grid.
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.
Pagination
This setting allows you to choose the different pagination options for the course grid. If you have more courses, lessons, topics, etc. than you allow to be shown on the 「Posts Per Page」 option above, then you must select a pagination option to display the rest of the items.
You can choose from:

Load More Button
Infinite Scrolling
Disable

Progress Bar
This setting is only available for LearnDash courses and groups. This allows you to choose whether or not to display the progress bar, a visual indicator of a student』s current progress in each course.
NOTE
A progress bar is only shown on courses in which the user is currently enrolled or has completed.
Filter
With the launch of Course Grid 2.0, this option was added to allow you to add a filter option on your course grid for your users. If this option is selected the below 「Filter」 settings are shown and are available for you to customize.
If this option is enabled, a 「Filter」 button will show on the top-right corner of the user』s screen.
Filter
This tab allows you to customize the 「Filter」 option on your Course Grid. You will be able to select different categories that the users can use to filter their courses.

Search
This setting lets you choose whether or not to have a search option on your filter options. If this is enabled, the user will see a search box where they can input keywords in order to filter out your courses on the grid.
Taxonomies
This setting allows you to choose different taxonomies that your users can use to filter out your quizzes. As long as these taxonomies are public-facing, then you』ll be able to select them.
To select multiple taxonomies, hold the ctrl or cmd button on your computers.
Price
This setting allows you to set the minimum and maximum prices that users can use to filter your courses. If you leave them blank, it will default to the minimum and maximum price of your courses.
Styles
This tab allows you to further customize your Course Grid by letting you choose from a myriad of style options including changing the fonts and colors of both the heading and the description.

Equal Grid Height
This setting allows you to choose whether or not to set the grid height to be equal. This will change the layout of your Course Grid based on your selected 「Skin」 above.
Heading
These set of options allows you to change the heading style for your course grid. You can customize the:

Heading Font family
Heading Font size
Heading Font color
Heading Background color

The color picker is also readily available for you to use when picking colors.
Description
These set of options allows you to change the description style of your course grid. You can also customize the

Description Font Family
Description Font Size
Description Font Color
Description Background Color

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.
Options (Shortcode Parameters)
The following options are available to customize the output of your LearnDash course grid using a shortcode. Multiple parameters can be used at the same time, in any order. Mix & match them to create the perfect course grid for your site. These, and more, parameters and options are available on the blocks mentioned above.

Feature
Description
Parameter
Possible
Values

Grid Columns
Number of columns your grid will have on large screens.
col="4"
1, 2, 3, 4, 5, 6

Progress Bar
A visual indicator of a student』s current progress in each course.
progress_bar="true"
true

Number of Courses
How many courses will be displayed in your grid.
num="10"
any integer

Course Sorting
How to sort the courses in your grid.
orderby="title"
title
ID
date
modified
menu_order
rand
…and more

Order of Sorting
The sort order for the 「orderby」 parameter.
order="ASC"
ASC
DESC

Hide Content
Hide the title, description & button.
show_content="false"
false

Hide Thumbnail
Hide the thumbnail image.
show_thumbnail="false"
false

My Courses
Shows only the courses in which the current user is enrolled.
mycourses="true"
true

Not-Enrolled Courses
Shows only the courses in which the current user is NOT enrolled.
mycourses="not-enrolled"
not-enrolled
enrolled

Course Status
Shows only the courses in which the current user is enrolled AND completed. NOTE: The mycourses parameter must be set to enrolled for it to show.
status="completed"
completed
in_progress
not_started

If using LearnDash categories & tags…

Course Category ID
Shows only courses in the specified LearnDash category. Use the category ID.
course_cat="10"
any course category ID

Course Category Name/Slug
Shows only courses in the specified LearnDash category. Use the category slug.
course_category_name="math"
any course category slug

Course Tag ID
Shows only courses tagged with the specified LearnDash tag. Use the tag ID.
course_tag_id="10"
any course tag ID

Course Tag Name/Slug
Shows only courses tagged with the specified LearnDash tag. Use the tag slug.
course_tag="math"
any course tag slug

Course Category Selector
Adds a dropdown menu to filter the course grid by course category.
course_categoryselector="true"
true

If using WordPress categories & tags…

WordPress Category ID
Shows only courses in the specified WordPress category. Use the category ID.
cat="10"
any WordPress category ID

WordPress Category Name/Slug
Shows only courses in the specified WordPress category. Use the category slug.
category_name="math"
any WordPress category slug

WordPress Tag ID
Shows only courses tagged with the specified WordPress tag. Use the tag ID.
tag_id="10"
any WordPress tag ID

WordPress Tag Name/Slug
Shows only courses tagged with the specified WordPress tag. Use the tag slug.
tag="math"
any WordPress tag slug

WordPress Category Selector
Adds 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.
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"]
Dropdown Menu Filter
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.
Featured Image
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:

Navigate to LEARNDASH LMS > COURSES
Click on the course you』d like to add an image to
In the sidebar, look for an area titled Featured Image
Click 「Set featured image」
Choose your image from the Media Library, or upload a new one
Click the Select button at the bottom
Don』t forget to click Update to save the changes

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.

Navigate to LEARNDASH LMS > COURSES
Click on the course you』d like to edit
Click on the Settings tab
Scroll down until you see Course Grid Settings
Enter as much or as little information as you』d like
Be sure to click Update when you』re finished

 
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.
Duration
Indicate the number of hour(s) and minute(s) it takes for this course to be completed.
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.

Check the box next to Enable Video Preview
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:
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.

Was this article helpful to you?

Yes

No

Course Grid 2.0 Templating

Course Grid 2.0 Templating

LearnDash Course Grid (CG) 2.0 is a brand new plugin written from scratch. It supports custom templating to make it easier for users to customize the template. All the front-end aspects of the plugin including skins, cards, filter, and pagination are customizable.
Table of Contents [show]1 Skin2 Card3 Pagination3.1 Was this article helpful to you?
Skin
Skin in Course Grid 2.0 is an object that defines the whole course grid style. The Skin templates folder is located in /templates/skins/. By default there are 4 different types of skins: grid, masonry, list, and legacy-v1. The first three skins are available to choose from in the Course Grid Gutenberg block while the legacy-v1 skin is specific to support CG 1.0 shortcodes.
Each skin folder can have the following files:

layout.php (mandatory) : define skin HTML layout
style.css (optional) : define skin CSS styles
script.js (optional) : define skin javascript file

In layout.php, there are 2 available variables:

$posts Array of WP_Post objects which are the query results of the course grid
$atts learndash_course_grid shortcode attributes

In layout.php, users can use the helper function learndash_course_grid_load_card_template( $shortcode_atts, $post ) to load the skin』s card template automatically.
To add a custom skin, users can follow the steps below:

Create a folder named with a unique skin slug in their active theme folder in the following path: /learndash/course-grid/skins/ . For example if a user uses the Kadence theme, they can create a new folder like this: wp-content/themes/kadence/learndash/course-grid/skins/custom-skin-slug/ .

layout.php example:
get_posts()
* $atts    Shortcode/Block editor attributes that call this template
*/
?>
<div class="items-wrapper ">
   
       
   

Add the required layout.php file to the folder with the other optional files style.css and script.js if necessary. 
Add the following code to the active theme』s functions.php or a plugin:

add_filter( 'learndash_course_grid_skins', function( $skins ) {
   $skins['custom-skin-slug'] = [
       'slug' => 'custom-skin-slug',
       'label' => 'Custom Skin',
       // Optional
       'script_dependencies' => [
           'dependency-slug' => [
               'url' => 'https://script_url',
               'version' => '1.0'
          ]
      ],
       // Optional
       'style_dependencies' => [
           'dependency-slug' => [
               'url' => 'https://style_url',
               'version' => '1.0'
          ]
      ],
  ];
   return $skins;
} );
Card
Card in Course Grid 2.0 is an object that defines how an individual card inside a skin looks. Each skin can has multiple different card designs. Card templates folder are located in /templates/cards/. By default there are 5 different cards: grid-1, grid-2, grid-3 (available for grid and masonry skin), list-1, list-2 (available for list skin).
Each card folder can have the following files:

layout.php (required) : defines card HTML layout.
style.css (optional) : defines card CSS stylesheet

To create a custom card design, users can follow the following steps:

Create a folder named with a unique card slug in their active theme folder in the following path: /learndash/course-grid/cards/ . For example if a user uses the Kadence theme, they can create a new folder like this: wp-content/themes/kadence/learndash/course-grid/cards/custom-card-slug/
Add the required layout.php file to the folder with the other optional files style.css
Add the following code to the active theme』s functions.php or a plugin:

add_filter( 'learndash_course_grid_cards', function( $cards ) {
   $cards['custom-card-slug'] = [
       'label' => 'Custom Card',
       // Skins this card is available for
       'skins' => [ 'grid', 'custom-skin', 'etc' ],
       // CG elements exist in the card design, added elements will be available in CG Gutenberg block
       'elements' => [
           'thumbnail',
           'ribbon',
           'content',
           'title',
           'description',
           'meta',
           'button',
      ],
  ];
   return $cards;
} );
Pagination
Course Grid 2.0 comes with 2 default paginations: load more button and infinite scrolling. Pagination templates are located in /templates/pagination/.

Was this article helpful to you?

Yes

No

Integrity Add-on

Integrity Add-on

LearnDash Integrity is the best way to protect the integrity of your courses with functionality such as hotlink protection, preventing concurrent logins, and preventing copied content; although there』s no foolproof way to stop that from happening but Integrity certainly helps to keep the pirates at bay.
Top that off with our reCAPTCHA integration for our native login and registration forms for LearnDash.
There will be a few options that we will discuss below.
NOTE
You need to have LearnDash installed & activated before you can activate the 「Integrity」 plugin.
Table of Contents [show]1 Installation2 How It Works2.1 Prevent Hotlinking2.2 Prevent Concurrent Login2.3 Prevent Content Copy2.4 reCAPTCHA2.5 reCaptcha v3 (Invisible)2.6 reCaptcha v2 (Checkbox)2.7 Location2.8 Was this article helpful to you?
Installation
Option 1: Add-ons Menu (requires an active LearnDash license)

In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
Scroll down to the Integrity add-on
Click Install Now
Click the Activate Plugin button

Option 2: Manual Upload

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

How It Works
The LearnDash Integrity plugin allows you to secure and protect the integrity of your LMS site. It』s simple to use has a lot of available features.
To access the Integrity plugin settings head on to LEARNDASH LMS > SETTINGS and click on the Integrity tab.

Prevent Hotlinking
This option protects videos and images hosted on this site from hotlinking. Hotlinking is known as the act of stealing someone』s bandwidth or server resources by linking directly to their website』s assets, such as images or videos.
Prevent Concurrent Login
Concurrent login is when one user with a single username and password logs-in at the same time from different locations or devices. This option prevents that from happening. Whenever someone else logs in under the same username/email while you are still logged in, they will get an error prompt indicating that the account has exceeded the maximum concurrent login number. This prevents one user from sharing their logins with the intent of having others complete all their courses.

This rule covers all user types including administrators.
Prevent Content Copy
This option disables the 「Copy」 and 「Paste」 functions on the website, in addition to the entire right-click functionality. Although this is not a foolproof method to prevent this, this may discourage users to copy and paste content and courses from your website.
reCAPTCHA
reCAPTCHA is the easiest and most famous method of protecting your site from spam, fraud, and abuse, both from bots and users with malicious intent.
NOTE
There should only be 1 version of reCAPTCHA enabled at a time for this setting to work properly.
When this option is enabled, you are presented with two options: reCAPTCHA v3 (invisible) or reCAPTCHA v2 (checkbox).
Since reCAPTCHA is from Google, you need to register your site and acquire the site keys from them in order enable this setting. You are required to:

Have a Google Account to associate with your site keys
Register your website on the Google reCAPTCHA page

The site and secret keys are provided by Google after filling out the registration form above.
reCaptcha v3 (Invisible)

reCAPTCHA v3 is is the latest invisible security captcha introduced by Google. It adds protection to your website without forcing the user to go through a series of puzzles or checkboxes to verify if they are human.
reCAPTCHA v3 uses what is called a confidence score threshold based on the user』s mouse movement, previous activity, network status, location, among other things to verify how likely they are to be human or a bot. The higher the score threshold the more confidence is required for them to pass the captcha.
Based on the score, you can take variable action in the context of your site.
reCaptcha v2 (Checkbox)

reCAPTCHA v2 is also implemented by Google to provide widgets, either by checkboxes, puzzles, or other forms of verification, to avoid spam and automated bots from accessing the site.
On the Google registration form, you have the option to choose on what type of reCAPTCHA v2 you are going to be using:

「I』m not a robot」 Checkbox
Invisible reCAPTCHA badge
reCAPTCHA Android

Location
You can choose which forms on your website the reCAPTCHA will be displayed by selecting it on these options. You can opt to have it on the Login form only, the Registration form only, or on both.

Was this article helpful to you?

Yes

No

Zapier Integration

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. Note that some Zapier functionality, such as filters, require a paid plan.
Table of Contents [show]1 What is a Zap?2 Sign Up for a Zapier Account3 Install the Zapier Integration4 Supported Triggers & Actions4.1 Triggers4.2 Actions5 The Trigger: When This Happens…6 The Action: Do This…7 LearnDash Zaps vs. Webhook Zaps8 Legacy Zapier Setup (v1.x)8.1 Create a Trigger8.2 Set Up the Zap in LearnDash8.2.1 Available LearnDash Event Triggers8.3 Send Test Data to Zapier8.3.1 Create a Test Course8.3.2 Create a Test User8.3.3 Perform the Test Action8.3.4 Finalize the Trigger8.4 Create an Action Step9 Additional Options10 Zap Ideas11 FAQ11.1 Was this article helpful to you?
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.

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

Sign Up for a Zapier Account

Go to zapier.com & click the 「Sign Up」 button at the top
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)

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

Option 2: Manual Upload

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

Supported Triggers & Actions
As of version 2.0 of the LearnDash Zapier integration, we support the following triggers & actions. Over time, we will look to expand upon these based on feedback.
Triggers

Enrolled into course
Course completed
Lesson completed
Topic completed
Quiz passed
Quiz failed
Quiz completed
Essay submitted

Actions

Add user to a course
Remove user from a course
Add user to a LearnDash Group
Remove user from a LearnDash Group

Now it』s time to set up a new zap.
The Trigger: When This Happens…

Login to your zapier.com account
Click the Make a Zap! button in the top-right corner

Give your Zap a name (for internal use only)

Under Choose App & Event, search for 「learndash」 and click on the LearnDash app that appears

Under Choose Trigger Event, select one of the triggers from the list, and then click 「Continue」

USING FILTERS
If you want to set a specific Course, Lesson, Topic (etc.) as a Trigger, then that can be accomplished using Zapier』s Filter option. This article explains Filters in more detail. Not available on free Zapier plans.

Click the Sign in to LearnDash button

A popup window will appear, asking you for your site』s URL and an API key
Go back to your WordPress admin area, and navigate to LearnDash LMS > Zapier > Settings, and copy your API key

Navigate back to the Zapier popup window to enter your site URL, and the API key you just copied. Click Yes, Continue.
NOTE: When entering your site URL, be sure to include the final forward-slash (/) at the end.

Click the large Continue button to move onto the next step.

You have three options when it comes to testing your connection & your site』s associated data:

Skip the test
Test & review the results
Test & continue setting up your zap

If you test & review, you』ll see an example of your data, based on the trigger event you chose.

If your connection has been set up properly, you』ll see a green checkmark next to the trigger.

The Action: Do This…

Click on the 2. Do this … heading
Search for & choose an app from the list

In the Choose Action Event dropdown, search for and select an action.
NOTE: The actions will vary based on which app you choose.

Click Continue
You』ll now be asked to sign into your Mailchimp account (or connect to whatever app you chose in step 2 above).

Follow the instructions in the popup to login & authorize access to your account.
NOTE: This will look different depending on the app you choose to connect with.

You should see your connection listed in the dropdown box. Then click the Continue button.

You』ll then be asked to customize the details that will be sent to Mailchimp (or whatever app you choose). This will vary greatly, depending on the app. Here』s an example of the Mailchimp fields:

Fill in all the required fields to take the appropriate action(s) you want to take.
NOTE: If you』re sending an email address from LearnDash to another application, be sure to use the dynamic User Data User Email field. Do not type an email address in the email field.

When you』re finished filling in all the fields, click Continue.
Once again, you have 3 options for testing the data:

skip the test
test & review the data
test & continue with the zap

If your test is successful, you』ll see a message like this:

You can also check your Mailchimp account and you will see a test subscriber has been added to the audience list you chose.
Then click Done Editing to finish up your zap.
Finally, make sure you turn your zap on. You should see a toggle at the very bottom of the screen. Click the switch to turn it from OFF to ON.

The message will disappear and you should see a green ON switch in the top-right corner. Your zap should start to work immediately.

LearnDash Zaps vs. Webhook Zaps
Any zaps you set up using the older method (webhooks) will continue to work, but we recommend using the official LearnDash app in Zapier moving forward. If you need to distinguish between the two types in your Zapier account, just look at the icon used for the trigger. Old zaps will have red/orange webhook symbol while using the newer method will have the blue 「LD」 icon.

Legacy Zapier Setup (v1.x)
This is the old way to connect LearnDash to Zapier prior to Version 2.0 of the Zapier add-on. We do not recommend this method.
Before we set up any connections in LearnDash, we need to start creating our Zap on the Zapier website.
Create a Trigger

Navigate to zapier.com
Click the Make a Zap! button in the top-right corner
Give your Zap a name (for internal use only)
Choose a Trigger App: Select 「Webhooks」
Choose the Catch Hook option
Click Save + Continue

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

Set Up the Zap in LearnDash

Navigate to LEARNDASH LMS > ZAPIER
Click Add Trigger
Give your Trigger a name (internal use only)
Trigger Event: Choose 「Enrolled into course」
Trigger Course: Choose a specific course, or leave it set to All Courses
Webhook URL: Paste the Webhook URL you copied from Zapier
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.

Navigate to LEARNDASH LMS > COURSES
Click Add New
Give your course a title
On the Settings tab, set the Access Mode to 「Free」
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.

Navigate to USERS > ADD NEW
Fill out the required information
Role should be set to Subscriber
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

Navigate to the course page of the test course you just created
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.

Navigate back to your Zapier account
Click the OK, I did this button
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.
Click Continue

Create an Action Step
Now it』s time to tell our Zap what to do once the Trigger has been fired.
Part 1 of creating your Action step
Part 2 of creating your Action step

If you』re not automatically sent to the 「Choose an Action App」 screen, click the + Add a Step button
Click on Action/Search
Type 「mailchimp」 into the search bar, and click on 「Mailchimp」 when you see it appear
Select Mailchimp Action: Choose 「Add/Update Subscriber」
Click the Connect an Account button. A new window will ask you to sign into your Mailchimp account.
Make sure your account is selected, then click Save + Continue
Audience (formerly Lists): Choose the audience in which you』d like to add the new subscriber to
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.
All other fields are optional, but you may set them up if you』d like
Click the Continue button
Click the Send Test to Mailchimp button
Click Finish
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
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.
How to Modify Payload Data Before Being Sent to Zapier?
You can add any additional data such as user meta data, course meta data, etc., to the payload before being sent to Zapier using filter hook learndash_zapier_api_payload. Here is an example:
add_filter( 'learndash_zapier_api_payload', function( $payload, $subscription, $trigger ) {
if ( isset( $payload['user'] ) ) {
$payload['user']->custom_data = 'abc123';
}

return $payload;
}, 10, 3 );

Was this article helpful to you?

Yes

No

Advanced Options

Advanced Options

Since LearnDash 3.6, we』ve shifted some options around to make it easier (or harder to accidentally) for you to change some options. These options include the Custom Labels, REST API Settings and Data Upgrades, each were previously their own tabs.
Table of Contents [show]1 Custom Labels2 Data Upgrades2.1 Was this article helpful to you?
Custom Labels
Custom labels let you customize how you refer to the learning material on your site. By default, LearnDash uses the 「course,」 「lesson,」 「topic」 & 「quiz」 language, but you can change this to anything you』d like.
For example, you might want to call your lessons 「modules」 instead. And then maybe you want to rename your topics to 「lessons.」 You could also rename 「quizzes」 to be 「tests」 or 「exams.」 It』s entirely up to you.
When you apply a custom label, all references to that label will change in the WordPress admin area, as well as on the front-end of your site. Both your site administrators and all of your users will see the new label(s).
URLs / PERMALINKS
Custom labels will not affect your URLs. You can change the URLs to match your custom labels in the permalink settings.
The following LearnDash labels are available for customization:

Course
Courses
Lesson
Lessons
Topic
Topics
Quiz
Quizzes
Question
Questions
Take this Course (button)
Mark Complete (button)
Click Here to Continue (button)

You can revert all custom labels back to their default values by using the Reset Settings button at the bottom of the screen.

Data Upgrades
In certain circumstances you may be required to run a data upgrade to convert specific LearnDash data sets.  You will only be required to run a data upgrade if…

LearnDash support requests that you run an upgrade, or;
you receive an admin message prompt on your WordPress dashboard indicating the specific upgrade that needs to be run.

To run an upgrade, simply click the button and a progress bar will appear to indicate the status of the upgrade. It is important to let the update run uninterrupted until the progress bar reaches 100%. Afterwards, you can perform other actions from your dashboard.
The possible data upgrades are:

Upgrade User Course Data & Upgrade User Quiz Data
These two data upgrades copy user course and quiz progress, usually stored in the wp_usermeta table into the Activity table. This is needed for easier reporting and the LearnDash ProPanel reporting plugin.There generally is no need to run the data upgraded on these as the data is synced automatically as the user completed course steps or takes a quiz.
Upgrade Quiz Questions
This data upgrade will convert the legacy questions into proper WordPress posts. Required to use Quiz Builder.
Convert Course Access Lists
This data upgrade was added in LearnDash 3.1. This data upgrade will reconfigure how the course access list shown on the Course edit screen is used. This is not needed unless you are having repeated issues with users losing course access.

Was this article helpful to you?

Yes

No

Payments

Payments

The LearnDash Payments tab houses all of the payment settings and fields needed to turn your site into a bustling eCommerce platform.

You can configure, and individually enable and disable payment gateways that you wish to use from this tab, without having to delete or re-enter your API information.
More payment gateways will be supported with subsequent LearnDash releases. For now, we currently support the latest versions of Stripe and Paypal.
Learn more about other LearnDash built-in payment gateways and eCommerce platforms:

PayPal Settings
Stripe Integration
2Checkout Integration
Paid Memberships Pro Integration
SamCart Integration
ThriveCart Integration
WooCommerce Integration
and other 3rd party plugins

Was this article helpful to you?

Yes

No

Restrict Content Pro Integration

Restrict Content Pro Integration

The LearnDash Restrict Content Pro integration allows you to provide access to courses when someone signs up for a membership level using Restrict Content Pro. Since you can associate courses with membership levels, this integration essentially provides another method for you to sell your courses.
You need the paid version (「Restrict Content Pro」), as the free plugin (「Restrict Content」) does not provide a LearnDash integration.
Restrict Content Pro is not required to sell LearnDash courses, but is one of several integrations we offer to provide a more robust ecommerce and/or membership experience for your users.
NOTE
Both the LearnDash and Restrict Content Pro plugins need to be installed & activated to use the 「Restrict Content Pro for LearnDash」 plugin.
Table of Contents [show]1 Why Use Restrict Content Pro?2 Installation3 How it Works3.1 Create a Membership Level3.2 Link a Course to a Membership Level4 FAQ & Troubleshooting4.1 Was this article helpful to you?
Why Use Restrict Content Pro?
A few reasons why you might want to use Restrict Content Pro (RCP) to sell your courses:

automatically grant access to a LearnDash course (or courses) when someone joins a membership level
provide a more robust checkout experience using any combination of several payment gateways supported by RCP
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

Learn more about all of Restrict Content Pro』s features »
Installation
Option 1: Add-ons Menu (requires an active LearnDash license)

In your WordPress admin area, navigate to LEARNDASH LMS > ADD-ONS
Locate the Restrict Content Pro for LearnDash add-on
Click Install Now
Click the Activate Plugin button

Option 2: Manual Upload

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

How it Works
Before you can associate a LearnDash course with an RCP membership level, you need to:

create a LearnDash course
create a membership level in RCP

We』ll assume you have already created a LearnDash course.
Create a Membership Level

In your WordPress admin area, navigate to RESTRICT > MEMBERSHIP LEVELS
Fill out any pertinent information about your membership

The Restrict Content Pro documentation has a great article on creating membership levels.
Link a Course to a Membership Level
Now it』s time to associate a LearnDash course(s)* to this membership level. This means that once someone signs up for this membership, they will automatically be granted access to the associated course.
* You can assign one, or multiple, LearnDash courses to a single membership level.

On the Add New Level page, scroll to the bottom & look for Courses
Select the course(s) to associate to this membership.
NOTE: Select multiple courses by holding down the CTRL key (CMD on Mac)

When you』re finished, be sure to click the Add Membership Level button.
FAQ & Troubleshooting
Why wasn』t a user created and enrolled into the associated course(s) after signing up for a membership?
The most common reason for this is that something went wrong during signup, and the user was not successfully added to the membership level.
To check the status of a membership:

Navigate to RESTRICT > MEMBERSHIPS
Locate the customer in question
Check the Status column
If the user has a status of Pending, check to see you set up your payment gateway correctly.

If the customer』s status is Active, and they still don』t have access to the associated LearnDash course, please open a support ticket.
Which payment gateways can I use with Restrict Content Pro to sell courses?
Here』s a complete list of Restrict Content Pro payment gateways.
Does Restrict Content Pro work with WooCommerce?
Yes. See this Restrict Content Pro article for more information.

You might be interested in our other membership plugin integrations:

MemberPress
Paid Memberships Pro

Was this article helpful to you?

Yes

No

Quiz Questions

Quiz Questions

This article will explain all the various question types that can be used with LearnDash quizzes, how to set up your questions & answers, awarding points, hints, categories, the different options available for each question type, and more.
Table of Contents [show]1 Access Questions2 Filter Questions3 Choose Question Type4 Question Title & Text5 Points to be Awarded6 Question Categories6.1 Update or Delete Categories7 Hints8 Quiz Question Types8.1 Single Choice8.2 Multiple Choice8.3 Free Choice8.4 Sorting Choice8.5 Matrix Sorting Choice (Matching)8.6 Fill in the Blank8.7 Assessment (Survey)8.8 Essay / Open Answer8.8.1 Course Progression9 Quiz Scores and Answers9.1 Was this article helpful to you?
Access Questions
Every question you use in any quiz across your site is stored in one, central location. While you can use the quiz builder to add questions & configure your entire quiz, you can also modify questions on their own, dedicated page.

Navigate to LEARNDASH LMS > QUESTIONS
Click on any question to open it』s edit page

Filter Questions
LearnDash gives you the ability to filter your questions in a number of ways:

by question type
by question category
by the quiz it is assigned to (you can also view questions that are unassigned)

Use the filter bar across the top of the All Questions page:

Choose the filters you want
Click the 「Filter」 button

Choose Question Type
When creating a new quiz question, one of the first things you』ll want to do is choose your question type. LearnDash offers the following question types:

Single choice
Multiple choice
Free choice
Sorting choice
Matrix sorting choice
Fill in the blank
Assessment (survey)
Essay (open answer)

To select your question type, look for the Answer type box in the sidebar. Select your type:

Question Title & Text
The question title is only for internal use. It is not displayed to the user.
The question text is where you actually type the question you have for the user. This uses the classic WordPress editor, so you can insert images, format your text & use custom HTML.

Points to be Awarded
Points are available for all question types. This field is required for all questions and defaults to 1. Points are only awarded when the question is answered correctly.
Points can also be hidden in your quiz display settings.

To adjust points for a question:

Find the Points box in the sidebar
Update the number of points to be awarded

If you』d like to award a different numbers of points based on the specific answer given:

Check the Different points for each answer box
In the Answers box, where you add your answers, you』ll see a box labeled 「Points」
Enter the number of points to be awarded for each specific answer

Question Categories
Question categories are available for all question types. They are completely optional, but you can use them to:

better organize all of your quiz questions
provide the user with quiz statistics, broken down by category

To place a question in a category:

Find the Question Category box in the sidebar
Click the dropdown
Choose an existing category, or select 「Create new category」 and give your new category a name

Update or Delete Categories
To delete a question category, or update its title:

Navigate to LEARNDASH LMS > QUESTIONS
Click on the Settings tab
In the Question Taxonomies section, click the dropdown to 「Select a category」
Click the Delete button to delete it, or
Update its title and then click Update

At the end of a quiz, you can choose to display to percentage score the user received in each category of questions:

Hints

Hints are available for all question types. They are completely optional, but can help direct a user in the right direction when answering a question. When enabled, a button will appear below the question. Clicking that button will reveal a popup with the hint.
To enable a hint for a question:

On the Edit Question screen, scroll down to the Hint box
Check the box to Activate hint for this question?
Enter your hint in the box
Hints use the classic WordPress editor, so you can include images, lists, formatting & custom HTML.

Quiz Question Types
Single Choice
Single choice means there is only one correct answer. This is the most common question format for standardized tests. You should also use this question type for True or False questions.

There is no limit to the number of incorrect answers you provide
Choose the correct answer by selecting the radio button for 「Correct」
Check the 「Allow HTML」 box if you』d like to use HTML in your answer
Add images or other media by clicking the 「Add Media」 button
Delete an answer by clicking the 「Delete answer」 button
Add a new answer by clicking the 「Add new answer」 button
Move answers around by long-pressing the 「Move」 button and dragging the answer up or down

Setting up a single choice question in the admin area looks like this:

Here』s an example of what the user will see. This uses the LearnDash 3.0 theme with the correct answer selected.

Multiple Choice
Multiple choice questions support multiple correct answers. In order for the question to be marked correct, users must select ALL of the correct answers. If they only select some correct answers, then the question is marked incorrect.

There is no limit to the number of correct or incorrect answers you provide
The rest of the setup options are the same as single choice questions

Setting up a multiple-choice question in the admin area looks like this:

Here』s an example of what the user will see. This uses the LearnDash 3.0 theme with the correct answers selected.

Subtract Points for Incorrect Answer
You can choose to subtract points when the user selects an incorrect answer. Note that negative scoring is calculated on a per-question basis.

In the Points box, enable the option for 「Different points for each answer」
Provide a number of points (only  positive numbers are supported) for the incorrect answer
This value will then be subtracted from the question』s total points

 
Free Choice
Free choice questions give the user an input field where they must type the correct answer.

You can choose to accept only one answer, or multiple possible answers
Answers may be one word or multiple words
Capitalization does not matter. BLUE, Blue and blue are all scored the same.

Example: If you ask 「What color is the sun?」, you can choose to accept yellow, orange or white. If the user enters any one of these answers, the question is marked correct.
Setting up a free choice question in the admin area looks like this:

Here』s an example of what the user will see. This uses the LearnDash 3.0 theme with the correct answers selected.

Sorting Choice
Sorting choice questions ask the user to place a series of answers in the correct order. When creating the question, the order of the answers in the backend will be considered the correct order.
Setting up a sorting choice question in the admin area looks like this:

Here』s an example of what the user will see. This uses the LearnDash 3.0 theme.

Matrix Sorting Choice (Matching)
Matrix sorting questions should be used when you want the user to match two items together. There are two parts to a matrix sorting question:

Criterion: These are static & cannot be moved.
Sort elements: These are what users will drag & drop to the correct criterion.

Each sort element must be unique, and only one-to-one associations are supported.
Your answer area will be set up like a table, with the criterion on the left, and an open area to drag & drop sort elements on the right. You have the option to set a percentage width for the criterion column.
Setting up a matrix sorting choice question in the admin area looks like this (the example uses images for the criterion):

Here』s an example of what the user will see. This uses the LearnDash 3.0 theme.

Fill in the Blank
Fill in the Blank questions allow you to insert a blank line(s) in the middle of a sentence or paragraph. Users then type the correct answer into this empty field.

If more than one blank exists, all blanks must be answered correctly for the entire question to be marked correct.
Capitalization does not matter. PLAY, Play and play are all scored the same.
Blank spaces are created by providing the correct answer inside of curly braces { and }.

Example Format

Admin Setup: I {play} soccer.
User Sees: I ____ soccer.

The correct answer is 「play」.
Multiple Possible Answers
To allow for multiple possible answers, enclose each possible answer with square brackets [ and ]. You still use { and } to create the blank space.
I {[play][love][hate]} soccer.
In this example, the user can enter 「play,」 「love」 or 「hate,」 and they would all be accepted as correct.
Different Points Per Answer

If the 「Different points for each answer」 option is selected, you can assign points to each possible answer. Otherwise, 1 point will be awarded for each correct answer. To assign points to an answer, enter the pipe character | immediately following the answer, and then enter the number of points.
I {play} soccer, with a {ball|3}.
In this example, the answer 「play」 is awarded 1 point, and 「ball」 is awarded 3 points.
Setting up a fill in the blank question in the admin area looks like this:

Here』s an example of a fill in the blank question used for math equations, where there is only one possible correct answer for each blank.

Assessment (Survey)
Assessment questions allow for the use of a Likert scale. This question type is perfect for surveys, or any time you』re asking a user to rate something on a scale.

Only one answer may be selected
You can add text/images before and/or after the scale
There is no limit to the number of options available in the assessment
Enclose the entire assessment with curly braces { and }
Enclose each individual answer with square brackets [ and ]
The maximum possible score is equal to the total number of options

Examples:

less true { [1] [2] [3] [4] [5] } more true
{ [disagree] [not sure] [agree] }

Example 1: 1 is the least true; it』s worth 1 point. 5 is the most true; it』s worth 5 points.
Example 2: disagree is worth 1 point. not sure is worth 2 points. agree is worth 3 points.
TIP
This type of question is great for pre-course or end-of-course surveys.
Setting up an assessment question in the admin area looks like this:

Here』s what the user sees:

Essay / Open Answer
Essay questions allow the user to enter a free-form answer. You can choose between two types of essay questions:

Text Box: Displays a