Skip to content
LearnDash Support
  • Products

      LearnDash LMS Plugin

      Powering intuitive online courses with advanced management and engagement features for WordPress.

      Learn More

      LearnDash LMS Plugin + Hosting

      StellarSites Learning is a fully managed hosting solution for WordPress.

      Learn More

      Premium LMS Add-ons
      Enhance your courses with extra features. Gather insights, reward learners, protect your course content, and more!

      Explore all Add-ons

      MemberDash
      The most flexible membership plugin for WordPress. Monetize your content and build a community.

      View MemberDash

  • Pricing
  • Add-ons & Integrations

      LEARNDASH ADD-ONS

      Instructor Role

      Empower Instructor to manage courses.

      Groups Management

      Organization management, delegation and more

      ProPanel

      Advanced analytics reporting.

      Gradebook

      Track progress and create report cards.

      Notes

      Enable notetaking and two-way communication.

      Rating, Reviews, & Feedback

      Build trust and gain valuable insights.

      FEATURED INTEGRATIONS

      The Events Calendar

      Connect with the most popular events solution.

      BuddyBoss

      Powerful tools for an enhance learning experience.

      WooCommerce

      The most popular shopping cart on WordPress.

      WeGlot

      Translate your LearnDash content.

      All Integrations

      BUNDLES

      Package and save
      Save when you buy multiple plugins in a bundle.

      See all bundles.

      MORE

      Release Notes

      Get Help

  • Resources
      LearnDash Academy Videos, webinars, and resources to help you launch a successful course.
      Blog Blog
articles with the latest news and tips to help you run high-quality courses.
      Knowledge Base A support network to help you make the most of your courses.
      Release Notes Stay up-to-date with the latest updates to LearnDash.
      Get Help

      Professional Services

      LMS Site Development Get hands-on assistance launching your course website.
      Website Maintenance WordPress management made easy.
      SEO Services SEO solutions that accelerate growth.

      Other Resources

      LearnDash Accessibility At LearnDash, we believe online learning should be accessible to everyone.
      Join the Dev Club
  • Demo
  • Sign In
Get LearnDash

Knowledge Bases: Support Home | LearnDash Core | LearnDash Add-ons | LearnDash Cloud | Resources | Mobile App

LearnDash Support
  • ← Return to LearnDash
  • Support
    • Support Home
    • All Knowledge Bases
    • LearnDash Core
    • Add-ons
    • Resources
    • Cloud
  • My Account
Popular searches: api duplicate couse email gp query loop [ld_course_resume]

ProPanel

1
  • ProPanel

Getting Started with LearnDash Cloud

9
  • LearnDash LMS for the Cloud
  • LearnDash Cloud
  • How to Back Up Your Site
  • How to Get Support in LearnDash Cloud
  • Setting Up Your DNS to Use Your Own Domain Name
  • How to Connect a Domain
  • Logging In to Your LearnDash Cloud Site
  • Using the Go Live Widget
  • LearnDash Cloud Video Management Best Practices

Account & Billing

6
  • Edit Your Customer Account Email and Password
  • License
  • Updates
  • How To Get Help
  • Billing
  • LearnDash Licensing & Management

Troubleshooting

2
  • Troubleshooting Basics
  • Why is the registration form not showing?

User Guides

10
  • How do I remove the ‘Take This Course’ button?
  • Gamification And Badges In LearnDash
  • How do I hide post meta data (date, author, comments, etc.)?
  • Translation
  • Transferring LearnDash Courses
  • How do I protect my course files & downloads?
  • User Guides
  • LearnDash Migration
  • How to Install and Activate LearnDash Add-ons
  • Trusted Login

Getting Started with LearnDash

13
  • Setting Up Your First Course with LearnDash
  • Getting Started
  • LearnDash Overview
  • Technical Requirements
  • The Onboarding Wizard
  • Installation
  • LearnDash Core
  • Orders
  • Shortcodes and Blocks
  • Coupons
  • How to Use the Design Wizard
  • The Design Wizard
  • Style Customizer

FAQs

31
  • Can I hide the course content table on the course page?
  • Can I create a unique sidebar for courses, lessons & quizzes?
  • Can I rename “courses,” “lessons,” “topics,” and “quizzes”?
  • Can I reuse lessons & topics across multiple courses?
  • Is LearnDash compatible with other plugins?
  • How do I find the course ID?
  • 404 Errors on LearnDash Pages
  • What kind of media can be used in LearnDash courses?
  • Does LearnDash support Learning Tools Interoperability (LTI)?
  • How do I automatically assign users to courses when they sign up/register on my site?
  • How can I make email notifications send on time?
  • I’m getting the error “the link you followed has expired” when installing LearnDash.
  • Questions about MemberDash?
  • Known Issues & Conflicts
  • Why is the registration form not showing?
  • Page Builders + LearnDash
  • Why are the license updates and license checks disabled?
  • FAQs
  • Your Add-Ons and Plugins are Officially Migrating to LearnDash FAQs
  • WisdmLabs Acquisition FAQ
  • How to Manually Install and Update Plugins from WordPress.org
  • What is the best way for me to bundle courses using LearnDash?
  • What plugins can be used with LearnDash for math equation editing?
  • Do I need a plugin to do drip feeding?
  • Can I use the same Stripe Purchase Button on multiple courses?
  • Is there a shortcode for displaying a single lesson in LearnDash?
  • Is there a way to export an individual course?
  • What should I do if my course content is not displaying correctly?
  • Moving Away from LearnDash Cloud
  • What steps can I take if a lesson or topic is not marked as complete?
  • What are the different user roles in LearnDash and what permissions do they have?

Courses

14
  • Course Grid
  • Course Enrollment Mode Settings
  • Course Builder
  • Courses
  • Shared Course Steps
  • Course Display & Content Settings
  • Course Sections
  • Course Progression
  • Course Page
  • Course Create Wizard
  • Course Outline Builder
  • Pre-Selling
  • Course Dashboard
  • Course Completion Page

Lessons

9
  • Video Progression
  • Global Lesson Settings
  • Lesson Access Settings
  • Lessons
  • Lesson Display and Content Settings
  • Lesson Page Content
  • Sample (Free) Lessons
  • Lesson Access Settings
  • Blended Learning

Topics

5
  • Topics
  • Global Topic Settings
  • Topic Display and Content Settings
  • Topic Page Content
  • Topic Display & Content Settings

Quizzes

12
  • XML Quiz Import/Export Guide
  • Global Quiz Settings
  • Quiz Builder
  • Quizzes
  • Quiz Display & Content Settings
  • Quiz Results Display
  • Quiz Custom Fields
  • Quiz Leaderboard
  • Quiz Email Notifications
  • Manage & Grade Essays
  • Quiz AI Builder
  • Quiz Access & Progression

Questions

1
  • Quiz Questions

Certificates

3
  • Certificates
  • Create a Certificate
  • Certificate Shortcodes

Groups

11
  • Group Administration
  • User Groups
  • Global Group Settings
  • Group Page
  • Group Display and Content Settings
  • Group Access Settings
  • Group Courses
  • Group Users and Group Leaders
  • Publishing and Viewing a Group
  • Group Leader Capabilities
  • Group Cohorts

Challenge Exams

1
  • Challenge Exams

Virtual Instructors

1
  • Intro to Virtual Instructors

Assignments

4
  • Assignments
  • Global Assignment Settings
  • Manage Assignments
  • Enable Assignments

Reports

3
  • SCORM and xAPI
  • Reporting
  • How to disable core reports

Instructor Role

34
  • Intro to Instructor Role
  • Instructor Overview Page
  • Instructor Dashboard
  • Instructor Dashboard Menu
  • Adding Instructors
  • Multiple Instructors
  • Instructor Commissions
  • Selling Courses Through WooCommerce
  • Instructor Profile
  • Profile Introduction Sections
  • Create Learning Content And Quizzes
  • Instructor Role Reports
  • Instructor Notifications
  • Instructor Role Email Settings
  • Review Instructor Course Updates
  • Instructor Groups Access
  • Instructor Comments Access
  • Student Teacher Communication
  • Multiple Instructors Shortcode
  • Instructor Dashboard Settings
  • Instructor Role Color Schemes
  • Commission Logs
  • Instructor Role Navigation Settings
  • Instructor Role Overview Settings
  • Instructor Role Menu Settings
  • Frontend Course Creator
  • Frontend Quiz Creator
  • Frontend Dashboard: Installation Guide
  • Frontend Dashboard for Instructors: Gutenberg Blocks List
  • How to Customize the Frontend Dashboard
  • How to disable the WordPress admin page for Instructors
  • Introducing Frontend Dashboard
  • Elementor Compatibility
  • Setup PayPal Payouts for Instructors

Settings

15
  • Custom Labels
  • PayPal Checkout
  • Global Course Settings
  • Login and Registration
  • Settings
  • Permalinks (URLs)
  • General Settings
  • Focus Mode
  • Payments
  • Advanced Options
  • Emails – LearnDash General Settings for Notifications and Senders
  • Razorpay Integration
  • Cloning
  • Experiments
  • Payments
    • PayPal Checkout

Ratings, Reviews, & Feedback

1
  • Ratings, Reviews, & Feedback

Elementor Add-on

1
  • LearnDash Elementor Addon

Groups Plus

6
  • Group Leader
  • Create an Organization
  • Getting Started with Groups Plus
  • WooCommerce LearnDash Teams Products
  • Front-end Dashboard
  • Groups Plus FAQ

2Checkout Add-on

1
  • 2Checkout Integration

bbPress Add-on

1
  • bbPress Integration

Easy Digital Downloads Add-on

1
  • Easy Digital Downloads Integration

Event Espresso Add-on

1
  • Event Espresso Integration

Gravity Forms Add-on

1
  • Gravity Forms Integration

MemberPress Add-on

1
  • MemberPress Integration

Notifications Add-on

1
  • Notifications Add-On

Paid Memberships Pro Add-on

1
  • Paid Memberships Pro Integration

Restrict Content Pro Add-on

1
  • Restrict Content Pro Integration

SamCart Add-on

1
  • SamCart Integration

Stripe Add-on

2
  • Stripe Connect
  • Stripe Add-on Deprecation FAQ

The Events Calendar Add-on

1
  • The Events Calendar Integration

ThriveCart Add-on

1
  • ThriveCart Integration

WooCommerce Add-on

1
  • WooCommerce Integration

Zapier Add-on

1
  • Zapier Integration

Compatibility Add-on

1
  • Compatibility Add-Ons

Certificate Builder Add-on

1
  • Certificate Builder Add-On

Achievements Add-on

1
  • Achievements Add-On

Integrity Add-on

1
  • Integrity Add-on

3rd Party Plugins

1
  • 3rd Party Plugins

Gradebook

1
  • Gradebook Add-On

Notes Add-on

1
  • Notes Add-On

Users

5
  • Users and Groups
  • User Data
  • User Management
  • User Profiles
  • Extend Access

Developers

3
  • Adding Fields to LearnDash Registration Forms with Advanced Custom Fields (ACF)
  • Developers
  • Protecting Files

Design

1
  • Widgets

Groups Management

4
  • Groups Management
  • Global Settings
  • Groups Plus Add-On
  • Group Registration for LearnDash

Getting Started with the LearnDash App

11
  • How to Configure Access Groups in Your Learndash App
  • How to Set Up Your Apple Developer Account for your Learndash App
  • How to Create Your Google Play Developer Account for your Learndash App
  • How to Connect Your Google Developer Account to the Learndash App
  • How to Connect Your Apple Developer Account to your Learndash App
  • How to Configure your Learndash Android App Links
  • How to Configure Your iOS Learndash App
  • How to Configure Your Android Learndash App
  • How to Configure Google Firebase for Your LearnDash App
  • How to Configure Apple Universal Links for your Learndash App
  • Hosting Recommendations for the LearnDash App

Managing Your LearnDash App

8
  • How to Configure API CDN
  • How to Set Up a Private LearnDash App
  • How to Configure the Delete Account Settings
  • How to Enable the “Rate This App” Feature in the LearnDash App
  • How to Enable and Use the Report a Bug Feature in the LearnDash App
  • How to Enable “Send Us Feedback” in the LearnDash App
  • How to Configure the Smart Banner in the LearnDash App
  • How to Configure External Link Handling in the LearnDash App

Going Live

7
  • How to Use the Learndash App Publishing Service
  • How to Update Your Android Learndash App
  • How to Publish Your LearnDash App to the Apple App Store
  • How to Publish Your Android LearnDash App to the Google Play Store
  • How to Publish an Unlisted Learndash App to the Apple App Store
  • How to Configure Google Play Store Closed Testing
  • Apple App Store Publishing Checklist – How to Prepare Your iOS Learndash App for Publishing on the Apple App Store

Advanced for the Learndash App

7
  • How to Configure Access Rules in Your Learndash App
  • How to Configure the Default Restricted Message in Your Learndash App
  • How to Create Multiple Versions of App Menus in Your Learndash App
  • How to Enable Maintenance Mode in Your Learndash App
  • How to Manage Access Controls in Your Learndash App
  • How to Migrate Require Purchase Functionality in Your Learndash App
  • How to Create an APNs Auth Key for Your Learndash iOS App

Managing Content for LearnDash App

17
  • What are the Supported LearnDash App Blocks
  • How to Use Web Fallbacks
  • How to Use the Blog Posts App Block
  • How to Translate Text
  • How to Enable Right-to-Left (RTL) Language Support
  • How to Customize the App Navigation Header
  • How to Configure Your Tab Bar and More Screen
  • How to Configure Your Learndash App Homepage
  • How to Configure Typography
  • How to Configure Tab Bar Visibility
  • How to Configure the Tab Bar Icons
  • How to Configure the Directory Block
  • How to Configure the Learndash App Colors
  • How to Configure Deep Linking
  • How to Configure App Images & Icons
  • How to Add H5P Interactive Content to Your Learndash App
  • How to Add a Blog Page and Posts

App Builds

8
  • How to Upload Learndash App iOS Builds
  • How to Update Your Android Learndash App
  • How to Install iOS Test Builds
  • How to Install Android Test App Builds
  • How to Generate New App Builds
  • How to Generate iOS Release Apps
  • How to Generate Android Release Apps
  • How to Configure General App Settings

In-App Purchases

7
  • How to Test In-App Purchases
  • How to Set Up In-App Purchases
  • How to Set Up Android In-App Purchases
  • How to Select an iOS Review Version for In-App Purchases
  • How to Require In-App Purchases During Registration
  • How to Configure Subscription Groups
  • How to Configure iOS In-App Products

Done For You

13
  • How to Add LearnDash as Admin to Your Apple Developer Account
  • How to Add LearnDash as a User to Your Google Developer Account
  • Add [email protected] to Google Cloud
  • How to Set Up Firebase for Your Learndash App
  • How to Complete Agreements, Tax & Banking in Your Apple Developer Account
  • How to Create Bundle IDs for Your Learndash iOS Apps
  • How to Create Your Google Play Developer Service Account Key for Your Learndash App
  • How to Create Your Learndash App Listing in Google Play Console
  • How to Generate and Connect Your Apple Developer API Key to Your Learndash App
  • How to Set Up Firebase
  • How to Create Your Google Play Developer Service Account Key
  • How to Create an APNs Auth Key for Your Learndash iOS App
  • How to Add the Learndash Team as Owner to Your Firebase Project

Getting Started with LearnDash MCP Server

8
  • LearnDash MCP FAQ
  • Troubleshooting Common MCP Errors
  • LearnDash AI Prompt Library
  • Prompting AI Agents for LearnDash
  • How to Use Cursor with LearnDash
  • LearnDash + Angie
  • Creating WordPress Application Passwords for MCP
  • Getting Started with the LearnDash Model Context Protocol (MCP)
View Categories
  • Home
  • All Knowledge Bases
  • 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.

NOTE
This documentation is regarding templating the Course Grid Add-on, if you want to learn more about using the actual add on and it’s features, check out our Course Grid Add-on documentation.

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:

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

In layout.php, there are 2 available variables:

  1. $posts Array of WP_Post objects which are the query results of the course grid
  2. $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 skins 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:

<?php
/**
* Available variables:
*
* $posts  Array of WP_Post objects, result of the WP_Query->get_posts()
* $atts  Shortcode/Block editor attributes that call this template
*/
?>
<div class="items-wrapper <?php echo esc_attr( $atts['skin'] ); ?>">
<?php foreach ( $posts as $post ) : ?>
<?php learndash_course_grid_load_card_template( $atts, $post ); ?>
<?php endforeach; ?>
</div>
  • 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 themes 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:

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

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

  1. 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/
  2. Add the required layout.php file to the folder with the other optional files style.css
  3. Add the following code to the active themes 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/.

Updated on June 20, 2022
Table of Contents
  • Skin
  • Card
  • Pagination

Was this Doc Useful?

Thanks for your feedback!

Products

  • LearnDash LMS Plugin
  • MemberDash Plugin
  • LearnDash Cloud
  • ProPanel
  • Groups Management
  • Gradebook
  • Notes
  • Integrations

Support

  • Contact Us
  • Experts
  • Documentation
  • Facebook Community

Company

  • About LearnDash
  • Brand Assets
  • Careers
  • Affiliates
  • Privacy Policy
  • Terms and Conditions
  • Refund Policy

Our Partners

  • The Events Calendar
  • MemberDash
  • Kadence
  • GiveWP
  • Iconic
  • SolidWP

Stay Connected Subscribe to our newsletter
  • YouTube
  • X
  • Facebook
  • Instagram

Copyright 2026. All Rights Reserved.

A Liquid Web Brand
WordPress Hosting Services
© 2026 All Rights Reserved

StellarWP
liquidweb