Skip to main content
Shortcodes let you embed dynamic content — links, downloads, plugins, forms, and more — anywhere in CMS page bodies, sidebars, and product descriptions by writing a simple tag. Site Store Pro processes shortcodes through two independent pipelines; see Shortcode Pipelines for how and where each shortcode resolves.
Generate internal links to CMS pages, products, categories, and brands. Each shortcode accepts an optional label parameter to override the default anchor text.
Examples:
Link shortcodes are resolved by Pipeline A (the ProcessShortcodes middleware) and work in CMS page bodies, sidebars, product descriptions, list menu items, and footer layouts.

List Menu Shortcode

Embeds a complete list menu (nav list) by its ID. The list is rendered as a <ul>/<li> HTML structure with <a> tags.
Example:
This renders the full list menu with ID 3, including any nested [download:N] or [plugin:slug] shortcodes within list items — these are resolved automatically as part of list menu rendering.

CMS Downloads

Embed downloadable files with auto-detected rendering based on file type.

Auto-Detection Behavior

Examples:

Code & Video Embeds

Embed YouTube videos, Vimeo videos, or raw HTML snippets stored as embed records in the admin panel.
Example:
Embed records are managed at GET /admin/cms-embeds. Each record stores either an iframe embed code (YouTube/Vimeo) or an arbitrary HTML snippet.

CMS Forms

Embed a contact, subscription, or custom form built in the admin panel.
Example:
The form renders with its configured fields and submits to POST /forms/{slug}/submit. No custom JavaScript is required — the submission handler is included automatically.

Plugin Shortcodes

Embed any active display plugin by its slug. Parameters vary by plugin.

Built-in Plugin Shortcodes

Slideshow



Cross-Sell Products


Events Calendar


Live Search Widget


Social Icons


Blade Directives

Blade directives are supported in CMS page bodies, sidebars, and product descriptions. They are processed by Pipeline B (ContentParserService) via Blade::render().

Authentication-Conditional Content

Show different content to logged-in vs. guest visitors:

Role-Based Content

Show content only to users with a specific role:
Blade directives are compiled with Blade::render() — this is powerful but means any valid Blade syntax will execute. Only use Blade directives in content you fully control. Do not render untrusted user-submitted content through this pipeline.