Development

What each kind of Joomla plugin actually hooks into

What each kind of Joomla plugin actually hooks into

Joomla groups plugins by type: system, content, authentication and more. Which events each group hooks into, so you know where to look when things break.

A Joomla 6 install has around twenty plugin groups. Each one hooks a different set of events, and the group decides when your code runs.

The ones you meet first

  • System fires on nearly every request, early. Caching, redirects, SEF routing, the debug bar. Powerful, and the group most likely to slow a site down or break it.
  • Content runs when content is prepared for display or saved. Anything that rewrites article text, hides email addresses or inserts a module into an article is a content plugin.
  • Editors supply the editor itself, and Editors-XTD add the buttons under it.
  • Authentication decides how a login is verified, and User reacts to what happens afterwards.

The specialists

  • Finder feeds Smart Search. One per content type.
  • Fields provide custom field types.
  • Task supply jobs for the scheduler.
  • Privacy handle export and deletion requests for the data an extension holds.
  • Filesystem tell the media manager where files may live.
  • Captcha, Multifactorauth and Api-authentication do what their names say.
  • Webservices expose a component through the API.
  • Quickicon put tiles on the admin dashboard.
  • Actionlog and Schemaorg feed the audit log and structured data.
  • Behaviour, Extension, Installer, Media-Action and Sampledata hook the plumbing.

Ordering matters

Within a group, plugins run in the order shown in the manager, and you can drag them. When two content plugins both rewrite the same text, the order decides who wins. This is the first thing to check when a plugin works alone but not alongside another.

Debugging

When something inexplicable happens on every page, it is a System plugin. Disable them one at a time from the manager, or from the command line if the site will not let you in:

php cli/joomla.php extension:disable
Stuck on something else?

Doctor Joomla is a project of Cloudfaction, a Dutch agency building and maintaining Joomla sites since 1999. The articles are made with the help of AI, so tell us if something does not match your screen. Mail info@cloudfaction.nl if you want someone to look at yours.

Rather have someone look at it

Doctor Joomla is a Cloudfaction project.

A Dutch agency that has been building and running Joomla sites since 1999. If your site needs more than an article can fix, get in touch.