Academy LMS 4.0 IS LIVE

00
Days
:
00
Hours
:
00
Minute
:
00
Second

Course Grid

The Course Grid shortcode ([academy_courses]) renders a responsive grid of your published courses anywhere on your site — a landing page, a custom archive, or inside a widget area. It is the classic (non-block) equivalent of the Academy course archive, and gives you fine-grained control over which courses appear and how they are ordered, without needing the block editor.

How to access

1.Go to Pages > Add New (or edit an existing page/post).
2.Add a Shortcode or Paragraph block and type [academy_courses].
3.Click Publish (or Update) and view the page on the frontend.
Course archive page rendered by the shortcode, showing course cards in a grid next to the Level and Type filter sidebar

The screenshot above is the default course archive, whose template is built from [academy_courses has_pagination="true"] (see Block Templates, Site Editor and Academy Blocks). The course cards on the left are this shortcode’s output; the filter sidebar on the right comes from the separate [academy_course_filters] shortcode.

Shortcode attributes

ids — comma-separated list of course post IDs to include (e.g. ids="12,45,78"). Overrides most of the other filtering attributes.
exclude_ids — comma-separated list of course post IDs to exclude from the results.
category — comma-separated list of academy_courses_category term IDs; only courses in these categories are shown.
cat_not_in — comma-separated list of category term IDs to exclude.
tag — comma-separated list of academy_courses_tag term IDs; only courses with these tags are shown.
tag_not_in — comma-separated list of tag term IDs to exclude.
course_level — filters by the course’s difficulty level meta value (as set on the course itself).
price_type — filters by course pricing type (e.g. free vs. paid), matching the academy_course_type meta value.
orderby — sort key for the query. Accepts title / name (sorts by post title), date (publish date), or modified (last modified date); any other value falls back to sorting by post ID.
order — sort direction, ASC or DESC. Defaults to the site’s Academy course-archive ordering setting, or DESC if none is set.
count — number of courses to display. Defaults to the “Courses per page” value configured in Academy LMS > Settings, or 3 if that setting is unavailable.
column_per_row — number of grid columns on desktop. Defaults to the “Courses per row” value from Academy LMS > Settings; tablet and mobile column counts are controlled separately by that same setting and are not overridable per shortcode instance.
has_pagination — true to render pagination controls below the grid, false (default) to render a single page of results with no pager.

When neither ids nor orderby is supplied, the shortcode automatically pins any “sticky” courses to the front of the grid, matching the behavior of the default course archive page.

Notes

The shortcode queries the academy_courses post type (or any post type registered via the academy/get_course_archive_post_types filter) and only returns publish-status posts.
If no courses match the given filters, the grid renders Academy’s “no courses found” placeholder template instead of an empty grid.