Modern Groups Shortcode

Get Started

The [modern_groups] shortcode lets you display LearnDash groups using filters, and interactive UI controls.


 Basic Usage

[modern_groups]

👉 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

[modern_groups per_page="6" columns="2" show_empty="no"]

User’s Enrolled Groups

[modern_groups
user_groups="enrolled"
orderby="title"
order="ASC"]

Load More Pagination

[modern_groups
per_page="9"
pagination_type="load_more"]

🎛 Styling & Customization

CSS Classes

  • .reign-groups-container

  • .reign-group-card

  • .reign-group-{template}

  • .reign-group-columns-{number}


⚡ JavaScript Events

// Groups loaded
jQuery(document).on('reign_groups_loaded', function(e, data) {
    console.log('Groups loaded:', data);
});

// Filters applied
jQuery(document).on('reign_groups_filtered', function(e, filters) {
    console.log('Filters applied:', filters);
});

// More groups loaded
jQuery(document).on('reign_groups_more_loaded', function(e, page) {
    console.log('Loaded page:', page);
});

🚀 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

Last updated: September 22, 2025