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

6
  • 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

Account & Billing

5
  • License
  • Updates
  • How To Get Help
  • Billing
  • LearnDash Licensing & Management

Troubleshooting

1
  • Troubleshooting Basics

User Guides

6
  • How do I remove the ‘Take This Course’ button?
  • How do I hide post meta data (date, author, comments, etc.)?
  • Translation
  • How do I protect my course files & downloads?
  • User Guides
  • Trusted Login

FAQs

11
  • How do I find the course ID?
  • 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 can I make email notifications send on time?
  • Known Issues & Conflicts
  • Page Builders + LearnDash
  • FAQs
  • Your Add-Ons and Plugins are Officially Migrating to LearnDash FAQs

Getting Started with LearnDash

7
  • Getting Started
  • Technical Requirements
  • LearnDash Core
  • Shortcodes and Blocks
  • How to Use the Design Wizard
  • The Design Wizard
  • Style Customizer

Courses

12
  • Course Grid
  • Course Enrollment Mode Settings
  • Course Builder
  • Courses
  • Shared Course Steps
  • Course Display & Content Settings
  • Course Sections
  • Course Progression
  • Course Page
  • 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

2
  • Topics
  • Global Topic Settings

Quizzes

2
  • Quizzes
  • Quiz AI Builder

Questions

1
  • Quiz Questions

Groups

2
  • Group Administration
  • Group Cohorts

Assignments

1
  • Assignments

Reports

1
  • SCORM and xAPI

Instructor Role

15
  • Instructor Dashboard
  • Multiple Instructors
  • Instructor Commissions
  • Instructor Profile
  • Instructor Notifications
  • Instructor Role Email Settings
  • 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

Settings

8
  • Custom Labels
  • Global Course Settings
  • Login and Registration
  • Settings
  • Permalinks (URLs)
  • General Settings
  • Focus Mode
  • Experiments

Groups Plus

2
  • Group Leader
  • WooCommerce LearnDash Teams Products

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

The Events Calendar Add-on

1
  • The Events Calendar Integration

WooCommerce Add-on

1
  • WooCommerce Integration

Zapier Add-on

1
  • Zapier Integration

3rd Party Plugins

1
  • 3rd Party Plugins

Users

4
  • Users and Groups
  • User Data
  • User Management
  • Extend Access

Developers

2
  • Developers
  • Protecting Files

Groups Management

1
  • Groups Plus Add-On

Going Live

3
  • How to Update Your Android Learndash App
  • How to Publish Your Android LearnDash App to the Google Play Store
  • Apple App Store Publishing Checklist – How to Prepare Your iOS Learndash App for Publishing on the Apple App Store

Managing Content for LearnDash App

1
  • How to Configure Your Tab Bar and More Screen

Done For You

1
  • How to Add LearnDash as a User to Your Google Developer Account

Getting Started with LearnDash MCP Server

2
  • LearnDash MCP FAQ
  • Getting Started with the LearnDash Model Context Protocol (MCP)

Plugins

1
  • Plugins Overview

Styling

1
  • Styling Overview
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 April 22, 2026
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