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

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

Video Progression

Video Progression

Video progression is a way to require users to watch the entirety of a video before they can mark content as complete. It can be used for both lessons & topics, and works the same way for both. By default, the video will appear above your page content, but you can place it manually on the page using the [ld_video] shortcode.
This guide will walk you through the settings of video progression and explain how it works.
Table of Contents [show]1 How to Enable It1.1 Supported Video Providers1.2 Video URL1.3 Display Timing1.3.1 Lesson/Topic Auto-completion1.3.2 Completion Delay1.3.3 Mark Complete Button1.4 Autostart1.5 Video Controls Display2 Other Video Options2.1 Was this article helpful to you?
How to Enable It

Navigate to a lesson or topic edit screen in the admin
Video progression is found on the Settings tab, under Display & Content Options
Toggle the switch to turn it on
Configure your settings (which we』ll discuss below)

Supported Video Providers
The video progression feature supports the following video providers:

Vimeo (vimeo.com)
YouTube (youtu.be or youtube.com)
Wistia (wistia.com)
NOTE: Requires this additional Wistia plugin.
Spotlightr (spotlightr.com)
NOTE: formerly vooPlayer
Presto Player
NOTE: Requires the Presto Player plugin. You can check their integration instructions here.
Amazon S3
Local videos (uploaded to the WordPress Media Library)

Video URL
Enter the URL of the video you』d like to use for video progression. The Video URL field accepts the following formats:

Video Watch URL
ex: https://www.youtube.com/watch?v=hcSTaMhZi64
ex: https://vimeo.com/115119775
ex: https://yoursite.com/wp-content/uploads/2019/06/video-name.mp4
embed code
or shortcode
See the Shortcodes & Blocks article for more details on using

Display Timing
This setting determines when your video will be shown to the user, and how to handle sub-steps associated with the lesson/topic.

Before completed sub-steps (default)
The video will be shown immediately, and must be fully watched before the user can access any of the lesson/topic』s associated sub-steps (topics and/or quizzes).
After completing sub-steps
The video will initially be hidden. It will become visible after the user has completed the lesson/topic』s associated sub-steps (topics and/or quizzes). The entire video must be watched in order to complete the lesson/topic.

The next 3 options only appear if you』ve chosen 「After completing sub-steps.」
IMPORTANT
Video progression logic (i.e. auto-completion, completion delay and disabling mark complete button) will not be applied if you are logged in as Administrator and the Bypass Course Limits option is active.
Lesson/Topic Auto-completion
Enabling this option will automatically mark the lesson/topic complete once the user has watched the entire video.
Completion Delay
This refers to the delay (in seconds) between when the video is finished and when the lesson/topic is marked complete.

Default is no delay (0 seconds)

Mark Complete Button
By default, the 「Mark Complete」 button will be hidden, but this setting allows you to display it.

Simply enable this setting to show the 「Mark Complete」 button

Autostart
Enable this setting to have the video automatically start playing on page load.
Due to browser policies to prevent unwanted ads from playing automatically, videos with autoplay or autostart enabled will play with the volume muted. Since this is now the default behavior for most browsers, make sure that the controls are enabled on your video so that your users will be able to unmute them.
If controls are hidden, including the pause/play button, autoplay must be enabled for the users to be able to watch the video. Depending on the video host, the volume controls may still work with keyboard shortcuts (common ones are the 「M」 key, the 「+」 or 「-」 keys, or the up and down arrow keys). Check out this help article from Youtube on their player』s keyboard shortcuts.
On the browser』s end, there may be different ways around it depending on the browsers that your users are using. Here are a couple of resources that you can check for Firefox and Safari. Although there are no known solutions to go around this for Chrome users, here』s the official documentation for the policy change from Google, in case you want to read more about it.
NOTE
It is still possible for the user』s default browser settings to override this feature and prevent autoplay completely, whether muted or not.
Video Controls Display
By default, video controls are hidden from the user if the autostart option is enabled. Video controls include play, pause, volume, closed captions, and other settings found at the bottom of a video.
Enabling 「Video Controls Display」 will show all of these controls to the user, and allow them to have more control over the video.

NOTE
This feature is only available for YouTube & local videos.
Other Video Options
Because LearnDash is built on WordPress, there are other ways to display videos to your users. You don』t have to use video progression in order to use videos for your course. You won』t have all the same options as the video progression feature provides, but you can use any method you』d like, including:

embed any type of video anywhere within your lesson or topic page content
use third-party WordPress plugins for displaying video and/or playlists. One great example of such plugin is Presto Player. You can check on their documentation specific to LearnDash here
use H5P, Adobe Captivate or any other platform to create/embed video content

Was this article helpful to you?

Yes

No

Create a Certificate

Create a Certificate

Creating a certificate is the first step in the LearnDash certificate process. Once created, you can then assign your certificates to a course or a quiz.
This article will walk you through the certificate creation process.
NOTE
An easier way to create certificates is using our Certificate Builder add-on. You can easily build certificates using the Gutenberg Block Builder using the add-on.
Table of Contents [show]1 Add a New Certificate2 Title3 Featured Image3.1 How to Create an Image4 Content4.1 Certificate Custom Styles (CSS)4.2 Vertical Spacing4.3 Horizontal Spacing (Indentation)4.4 Font Size4.5 Font Family4.6 Color5 Certificate Options5.1 PDF Page Size5.2 PDF Page Orientation6 Certificate File Format7 Previewing Certificates8 Video Tutorial8.1 Was this article helpful to you?
Add a New Certificate

Navigate to LEARNDASH LMS > CERTIFICATES
Click the Add New button

You』ll be directed to a new screen where you can start creating your certificate. Here』s an overview of each type of information that can be added to your certificate.

Title
The certificate title is only for internal use. Your users will not see this title, but it will be the name that appears in dropdown menus when you go to apply it to a course or quiz. Be sure to name it something you』ll recognize.

Featured Image
Adding a featured image is the way in which you apply a design, or style, to your certificate.

IMPORTANT: You must use .jpg images, no more than 1MB in size. This also keeps your loading time to a minimum.
The size of your image should match your page size & orientation (see below). If you』re using an 11″ x 8.5″ US Letter size in landscape orientation, your image should match these dimensions. If you want your certificates to look great when printed, please also use 300 dpi.
You may include text as part of your image. There are no restrictions to what you include in the image, but keep in mind, it will be shown on all certificates to all users. Text contained within an image is not dynamic and cannot be customized for each user.

To add a featured image:

Click the 「Set featured image」 link
Choose an image from your Media Library, or upload a new one
Click the Set featured image button

KNOWN ISSUES
Some image optimization plugins are known to cause issues with certificate images, especially the SG Optimizer plugin from SiteGround. If your images are distorted, or contain large areas of all black, please disable image optimization for the images you』re using for certificates.
How to Create an Image
You can use any image creation or editing program you』d like, hire a designer or use images from a graphics library (please check the license to make sure you have permission). Here are a few suggestions:

Canva allows you to use pre-made templates for free, and add some customization of your own. Small upgrades are available, and very affordable.
Envato Elements is a premium graphics library with tons of pre-made certificate templates.
Creative Market is another premium marketplace where you can find certificate templates, as well as graphics to make your own.
Adobe』s Creative Cloud is also an option for more design-oriented users, or anyone already familiar with their design software (Photoshop, Illustrator, InDesign, etc.). A premium subscription is required.

Content
Your certificate content will mostly consist of dynamic fields that are generated for each individual user who is awarded a certificate. For example:

User』s Name
Course Title
Date of Completion
…etc.

These types of dynamic fields are inserted via shortcodes. We have an entire article dedicated to certificate shortcodes here →
When adding your certificate content, you』ll need to use some HTML & CSS to set up the overall layout, spacing, sizing, etc. We』ll walk you through some common layouts below, and how to achieve various designs.
Certificate Custom Styles (CSS)
If you know your way around CSS codes and styles, you can add your own custom CSS stylesheet to apply globally to all of your certificates. You can find it here:

Navigate to LEARNDASH LMS > CERTIFICATES
Click on the Settings tab
Scroll down to the 「Custom Styles (CSS)」 metabox

By adding your own custom CSS styles, you eliminate the need to constantly re-type and re-style all of the elements that you add to your certificates. You can easily assign classes and IDs to these elements (e.g. paragraphs, shapes, and headings) and then add the styles that will apply globally to all your certificates. This will help you stay on brand.
Vertical Spacing
You might want to insert the course title at the top of a certificate, the user』s name in the middle, maybe at a completion date at the bottom, etc. One of the best ways to control vertical spacing, and move content up or down on your certificate, is to use the line-height property.
Wherever you need to insert some blank vertical space, you can use the following code:

This would add 20 pixels of vertical space. You can adjust the 20px to another value. Since our final certificate uses inches, not pixels, you』ll need to play around with this value to achieve your desired result. (see below for previewing certificates)
You can insert as many of these spacers as you need throughout the certificate.
Horizontal Spacing (Indentation)
There are a few ways to go about horizontal spacing.
If you need to center your text in the middle of the certificate, you can use text-align:center;. Here』s an example of the user』s first name, centered horizontally:

[usermeta field="first_name"]

By default, all text will be aligned to the left edge of the certificate (right edge for RTL languages). If you need to indent something, you can use the text-indent property. Here』s an example of the course completion date being pushed vertically towards the bottom of the page, then indented to move it to the far-right corner.

[courseinfo show="completed_on" format="F j, Y"]

You』ll need to adjust the 150px and 200px values to match up with your certificate image.
Font Size
You can also adjust the font size of any text. Let』s say you wanted your user』s first & last name to be quite large (30px), then a small vertical space (10px), and then the course title not quite as large as the name (20px), you could do this:

[usermeta field="first_name"] [usermeta field="last_name"]

[courseinfo show="course_title"]

Font Family
Different computers come pre-installed with different fonts. Some users will have a font installed, and others might not. So there isn』t a ton of flexibility with using custom fonts in certificate creation. However, you can switch between serif and sans-serif fonts, as both should work for most of your users. Here』s an example using a generic serif font:

Color
You can adjust the color of any text on your certificate. If your image has a dark background, you can use the color property to make your text white.

You can combine multiple properties at the same time. If you wanted to indent the user』s first & last name, adjust the font size, and change the color to red, it would look like this:

[usermeta field="first_name"] [usermeta field="last_name"]

Certificate Options
There are a few additional options you can set for your certificate.
PDF Page Size
Choose between the following options:

US Letter (default): 8.5″ x 11″
A4: 8.3″ x 11.7″

PDF Page Orientation
Choose between the following options:

Landscape (default): width is longer than height
Portrait: height is longer than width

Certificate File Format
When a user earns a certificate, either by completing a course or passing the certificate threshold for a quiz, they』ll be able to download it in PDF format. All LearnDash certificates are provided as a .pdf file.
When a user clicks a button to get their certificate, some web browsers will open the PDF file in the browser, and others might download the file to the user』s computer. Whatever the default behavior for that user』s browser is, that』s how LearnDash certificates will behave as well.
Previewing Certificates
Before applying your certificate to a course or quiz, you』ll want to preview it so you can see how it looks. You can create a quick test quiz that is only used for previewing your certificate.

Create your certificate, and make sure you Publish it
Then, navigate to LEARNDASH LMS > QUIZZES
Click Add New to create a new quiz
Give the quiz a title
On the Settings tab, next to Quiz Certificate, choose the certificate that you want to preview
Add a single choice question to the quiz, with an obvious correct answer
Publish the quiz
Open the quiz in a new tab
Choose the correct answer, and click Finish Quiz
Click the Print Your Certificate button

Alternatively, you could create a test course with only one lesson. Then you』d mark that lesson complete, and you』d be able to view your certificate that way.
This will open your certificate in a new tab so you can preview it. Keep this tab open, and each time you make a change to your certificate in the backend, simply refresh this page and the updated version of your certificate will be loaded.
NOTE
Don』t forget to delete this quiz (or course) when you』re finished testing your certificate.
Video Tutorial
In this webinar, we demonstrate how to create a certificate from beginning to end. Includes best practice advice and helpful tips for creating dynamic content.

Was this article helpful to you?

Yes

No

Courses

Courses

Courses are the backbone of any learning curriculum. This section will break down everything you can do with LearnDash courses—customize settings, add content, control access and more.

Global Course Settings
Settings applied to all courses on your site
Shared Course Steps
Reuse lessons, topics & quizzes across multiple courses
The Course Builder
Add, edit, remove & organize course steps
Display & Content Settings
Add materials, assign certificates & more
Configure Course Access
Offer free courses, require login, charge a fee, set prerequisites & more
Course Progression Options
How a user can navigate through your course
Course Page
Course title, image, URL & a description

Once you』ve set up your course, head on over to our lesson, topic or quiz documentation to finish building all of your course content.

Was this article helpful to you?

Yes

No