
Joomla Shortcodes
Store a phone number, a CTA block, a tracking script or a dynamic PHP snippet once. Drop a short tag like {phone} or [cta] anywhere – articles, modules, custom HTML, template overrides, even YOOtheme Pro – and Shortcodes renders it on every page. Change it in one place, it updates everywhere.

One small change, a site-wide hunt
-
Change one thing, hunt everywhere. Update a phone number and you are searching and replacing for an hour, and you will still miss a spot.
-
Copy-pasted code rots. The same snippet lives in fifteen articles. Fix a bug in one, the other fourteen stay broken.
-
Editors break layouts. Hand a client raw HTML or a script to paste and something will eventually get mangled.
The hidden cost: change one detail and you are hunting through the whole site, and you will still miss a spot. Multiply that by every client site you maintain.
One place. One short tag. Done.
1. Create the snippet once
In the Shortcodes component, write your content or code in a proper CodeMirror editor. Pick a type: HTML, PHP, JavaScript, CSS or plain text.
2. Give it a tag
Choose a tag and a delimiter style: {phone}, [cta] or (price). Three delimiter options keep you clear of conflicts with other extensions.
3. Drop it anywhere
Place the tag wherever you want it. Shortcodes replaces it with the stored output the moment the page renders. Edit the snippet once and every page updates.

Everything in one package
Built for web professionals
Three parts install in one go: the component to manage shortcodes, the system plugin that renders them, and an editor button to insert them.
Five content types
Three delimiters
{ }, square [ ] or round ( ) brackets per shortcode to avoid conflicts with other extensions.Dynamic attributes
$params, so one shortcode behaves differently per placement.Nested shortcodes
Article context in PHP
$article object, even inside YOOtheme where Joomla skips normal content processing.Access & status
Editor button picker
CodeMirror editor
Notes & versioning

Security
An honest model for running PHP
PHP snippets run with full server privileges, exactly like a Joomla custom PHP module. So the plugin runs a PHP snippet only if its author is a Super User.
A manager with lower privileges who can operate the component cannot run PHP, and so cannot turn component access into code execution on your server. HTML, JavaScript, CSS and text have no such restriction.
-
No function blacklist. Blacklists give a false sense of safety and are trivial to bypass. The real control is who may store the code.
-
Errors logged in full to the Joomla log and shown as an HTML comment for debugging.
-
No path disclosure. Server paths only appear in the source when Joomla Debug mode is on.
-
Front-end only. Admin, feeds, JSON and raw output are never touched.
Performance
Light by design
The render logic does as little as possible, so it stays out of your way.
Skips clean pages
Only known tags
Front-end, HTML only
Who it's for
One tool, three jobs solved
Agencies
Maintain reusable blocks once and roll them out across every client site. It keeps working inside the page builder you already use, so nothing breaks at handover.
Editors
Give non-technical authors a safe, simple way to place reusable and even dynamic blocks, while the PHP power stays locked behind the Super User. You build the snippet, the client places the tag.
Developers
Build dynamic content in a few lines of PHP with inline attributes, instead of developing a custom module or plugin every time.
One license. All your client sites.
Buy once, install on every Joomla site you build or maintain. No per-domain fees, ever.
-
Unlimited installations
-
1 year of updates on every site
-
1 year of personal support
-
No per-site fee, no domain lock
Start with PRO. Add the bundle when it pays off.
FAQ
Frequently asked questions
Does it work inside YOOtheme Pro?
Yes, and that is the whole point. YOOtheme Pro and similar page builders skip Joomla's normal onContentPrepare content processing, which is why most shortcode plugins fail inside them. Shortcodes works on the full page output through onAfterRender, so your tags render in builder elements, modules and template overrides just as well as in article text.
Is it safe to let shortcodes run PHP?
PHP snippets run with full server privileges, exactly like a Joomla custom PHP module. The plugin therefore executes a PHP snippet only when its author is a Super User. A lower-privileged manager who can operate the component cannot run PHP and cannot escalate component access into code execution. HTML, JavaScript, CSS and text snippets have no such restriction.
Can non-technical editors use it?
Yes. You build the snippet as the developer, the client only places a short tag. The editor button opens a searchable picker of your published shortcodes, so editors never have to remember or retype a tag.
Will it slow my site down?
No. Pages without any opening delimiter are skipped immediately. The matching pattern is built only from your registered tags, so stray brackets in your content are never touched, and only real HTML responses on the public site are processed.
Can one shortcode behave differently per page?
Yes. Pass attributes inline, for example {latest-articles category="news" limit=5}. They arrive in your PHP snippet as $params. Quoted, single-quoted and bare values are all supported.
Is my license valid for multiple sites?
Yes. One PRO license covers every site you build or maintain. No per-site fees, no seat limits. The same applies to all Joomill PRO extensions.
Which Joomla and PHP versions are supported?
Joomla 5 and Joomla 6, on PHP 8.1 or higher. The full package installs in one go and ships in English, Dutch, German, French, Spanish and Italian.
How fast is support?
There is a real Joomla developer behind the plugin. Most tickets get a reply within hours, not days, and every reply comes from the developer who wrote the code.

You email Jeroen. Jeroen emails you back.
< 24h
16+
100%
Stop repeating yourself across your Joomla site
Build a snippet once, drop a short tag anywhere, even inside YOOtheme Pro. Joomla 6 ready, one license for all your client sites, support from a real developer.