Shortcode Reference
Complete reference for all 15 Luminal CMS shortcodes across 10 modules. Shortcodes use the [[type:slug]] syntax and are processed by the shortcode parser when pages render.
Gallery Shortcodes
Module: GalleryManager
Image Gallery
[[image-gallery:slug]]Renders an image gallery from admin/data/galleries/images/{slug}.json. Displays images in the configured layout (grid, masonry, or rows) with lightbox support.
Alias: [[imagegallery:slug]]
Video Gallery
[[video-gallery:slug]]Renders a video gallery from admin/data/galleries/videos/{slug}.json. Videos display as thumbnail grids with lightbox player.
Alias: [[videogallery:slug]]
PDF Gallery
[[pdf-gallery:slug]]Renders a PDF gallery from admin/data/galleries/pdfs/{slug}.json. PDFs display as thumbnail cards with download/view links.
Alias: [[pdfgallery:slug]]
Combined Gallery
[[gallery:slug]]Renders a combined gallery from admin/data/galleries/combined/{slug}.json. Supports mixed media types (images, videos, PDFs) in a single gallery.
Content Shortcodes
Panel
[[panel:filename.php]]Includes a PHP panel file from the panels/ directory. Used for Content Stacks, storefronts, and custom components. Panels must be listed in admin/data/panels_whitelist.json. Some panels are singletons (e.g., panel-events.php, panel-store-csv.php) and can only appear once per page. Query parameters can be passed after the filename.
AIP Page
[[aip:slug]]
[[aip-page:slug]]
[[ai-page:slug]]Renders an AI-generated page from admin/data/AIP_Pages/{slug}/index.html. Legacy shortcode from the former AIPageMaker module — still functional.
YouTube Playlist
Module: YouTubePlaylist
[[youtube-playlist:slug]]
[[yt-playlist:slug]]Renders a YouTube playlist player with video grid from admin/data/youtube_playlists/{slug}.json. Results are cached for 15 minutes. Pagination is supported for large playlists.
Attributes:
limit— Maximum number of videos to displaycolumns— Grid column countdescription— Show/hide video descriptions ("true" or "false")
[[youtube-playlist:live-sessions limit="10" columns="3" description="true"]]Podcast
Module: PodcastManager
[[podcast-feed]]
[[podcasts]]Renders a podcast episode listing from the Podcast Manager.
Aliases: [[podcast-cards]], [[podcast-episodes]]
Attributes:
limit— Maximum number of episodesstyle— Display styleplayer— Show audio player ("true" or "false")covers— Show episode cover art ("true" or "false")
[[podcast-feed limit="5" player="true" covers="true"]]NotebookLM Audio
Module: AIResources
[[nlm-podcast:slug]]
[[nlm-audio]]
[[notebooklm]]Renders NotebookLM AI-generated podcast audio from media/notebooklm/{slug}/assets/. Episodes display newest first.
Attributes:
limit— Maximum number of audio items
[[nlm-podcast:episode-recap limit="3"]]Content Stacks
Module: ContentStacks
[[stack:slug]]Embeds a named Content Stack inline. The slug matches the stack's slug in admin/data/content-stacks-registry.json. As of 2026-04-22, this is the preferred form; the legacy [[panel:content-stack-N.php]] also works.
Example:
[[stack:this-week-events]]
[[stack:site-cta]]Site Statistics (retired public shortcode)
The [[vstats]] / [[vstats-widget]] / [[site-stats]] shortcodes have been retired. Stats are now admin-side only via the StatsCaptainOG module (visible in the admin dashboard). There is no public-facing analytics widget shortcode. Remove any [[vstats]] references you find in existing page content.
Store
Module: MyStore
[[store]]
[[mystore]]Renders the MyStore product storefront with shopping cart and checkout. Includes products from both MyStore and Printful (if configured).
Affiliate Products
Module: AffiliateProducts
[[affiliate-products]]
[[affiliates]]Renders an affiliate product grid. All product cards include rel="noopener nofollow sponsored" for FTC compliance.
Attributes:
category— Filter by product categorylimit— Maximum number of productscolumns— Grid column count
[[affiliate-products category="studio-gear" limit="6" columns="4"]]Single Affiliate Product
[[affiliate-product:product-id]]Renders a single affiliate product card by its ID from the Affiliates admin.
Events
Module: EventsManagerPro
[[event:event-id]]Renders a single event card from admin/data/events_master.json with date, venue, description, and action buttons.
Shortcode Syntax
With slug: [[shortcode:slug-name]] — the slug identifies which data to load
With attributes: [[shortcode:slug key="value"]] — override defaults with named params
Without slug: [[shortcode]] or [[shortcode key="value"]] — for global shortcodes (vstats, store, podcast-feed)
Where Shortcodes Work
Shortcodes are processed in page content (left and right columns in Page Manager), Content Stacks, and any HTML field processed by apply_shortcodes().
Tips
- Shortcodes are case-insensitive for the type but case-sensitive for the slug.
- Multiple shortcodes can appear on the same page — they render in order.
- Use the CPM Blocks sidebar in Page Manager for one-click shortcode insertion.
- YouTube playlists and affiliate categories auto-appear as CPM pills when created in their admin modules.