The [modern_groups] shortcode lets you display LearnDash groups using filters, and interactive UI controls.
Basic Usage
👉 Displays all groups using the default settings (12 per page, minimal template, 3 columns).

Parameters
1. Display Parameters
| Parameter | Type | Default | Options | Description | Example |
|---|---|---|---|---|---|
per_page |
Integer | 12 | Any number | Number of groups to display per page | [modern_groups per_page="8"] |
columns |
Integer | 3 | 1–6 | Number of grid columns | [modern_groups columns="4"] |
template |
String | minimal | minimal | Visual style of group cards | [modern_groups template="minimal"] |
2. Sorting Parameters
| Parameter | Default | Options | Description | Example |
|---|---|---|---|---|
orderby |
date | date, title, menu_order, member_count, course_count | Field used for sorting | [modern_groups orderby="member_count"] |
order |
DESC | ASC, DESC | Sort direction | [modern_groups orderby="title" order="ASC"] |
3. UI Control Parameters
| Parameter | Default | Options | Description | Example |
|---|---|---|---|---|
show_filters |
yes | yes, no | Show/hide filters | [modern_groups show_filters="no"] |
show_search |
yes | yes, no | Show/hide search bar | [modern_groups show_search="no"] |
show_sorting |
yes | yes, no | Show/hide sorting dropdown | [modern_groups show_sorting="no"] |
show_view_switcher |
yes | yes, no | Enable grid/list view toggle | [modern_groups show_view_switcher="no"] |
show_pagination |
yes | yes, no | Show/hide pagination | [modern_groups show_pagination="no"] |
pagination_type |
numbers | numbers, load_more, infinite | Pagination style | [modern_groups pagination_type="load_more"] |
4. Group Display Options
| Parameter | Default | Options | Description |
|---|---|---|---|
show_empty |
yes | yes, no | Show groups with no members |
show_private |
no | yes, no | Show private groups |
show_member_count |
yes | yes, no | Show group member count |
show_course_count |
yes | yes, no | Show number of courses in group |
show_group_leader |
yes | yes, no | Show group leader info |
show_description |
yes | yes, no | Show group description |
show_join_button |
yes | yes, no | Show join/leave button |
5. Filtering Parameters
| Parameter | Type | Description | Example |
|---|---|---|---|
group_ids |
String (comma-separated IDs) | Display only specific groups | [modern_groups group_ids="10,20,30"] |
exclude_ids |
String (comma-separated IDs) | Exclude specific groups | [modern_groups exclude_ids="5,15"] |
leader_id |
Integer | Show groups by leader ID | [modern_groups leader_id="25"] |
user_groups |
String | Show groups by enrollment (enrolled, not_enrolled) |
[modern_groups user_groups="enrolled"] |
min_members |
Integer | Show groups with minimum members | [modern_groups min_members="5"] |
max_members |
Integer | Show groups with maximum members | [modern_groups max_members="50"] |
📝 Example Configurations
Basic
User’s Enrolled Groups
Load More Pagination
🎛 Styling & Customization
CSS Classes
-
.reign-groups-container -
.reign-group-card -
.reign-group-{template} -
.reign-group-columns-{number}
⚡ JavaScript Events
🚀 Performance Tips
-
Use smaller
per_page(12–24 recommended) -
Hide empty groups (
show_empty="no") -
Use caching plugins for optimization
-
Optimize group images/thumbnails
-
Use lazy loading for avatars
🛠 Troubleshooting
-
Groups not displaying → Check LearnDash + BuddyPress installed & groups exist
-
Filters not working → Check console errors + AJAX enabled
-
Styling issues → Inspect CSS conflicts, responsive breakpoints
-
Performance issues → Reduce
per_page, enable cache
