🔌 How Plugins Register With The Hub

The Hub does not scan your site guessing which plugins are ours. Each ResultsAIx plugin announces itself by calling one function, resultsaix_register_product, wrapped in a check so the plugin still works perfectly when the Hub is not installed. The Hub loads very early, at plugins_loaded priority one, so that function is always available by the time plugins run their own startup.

What a plugin passes when it registers:

  • Its slug and display name, plus an optional shorter name for menus
  • Its icon, its existing admin menu slug, and its current version
  • Its plugin file path, used to tie it to updates and licensing
  • Its sales page URL and category
  • The parent product slug, if it is an add on that inherits a parent licence

Optional callbacks a plugin can also provide:

  • One that reports its current licence state, which is what fills its row on the Licences tab
  • One that activates a key from the Hub
  • One that deactivates a named domain, which is what makes the Free this slot button work
  • One that returns its weekly numbers for the statistics rollup

Callbacks are optional on purpose. A plugin with none still appears in the Hub, it simply shows less. If you press a button that needs a callback the plugin has not implemented, the Hub tells you plainly and points you at the plugin's own settings page rather than failing silently. Everything a callback returns is normalised against a standard shape and wrapped in error handling, so one misbehaving plugin cannot take down the whole screen.

Why some plugins show as pre-hub:

A plugin on a version that predates its registration block never calls the function. The Hub still finds it, by matching the plugin file paths in the catalogue against your active plugins, and shows it on the Updates screen with a Pre-hub version pill. Updating still works. Licence display and statistics start working once that plugin ships a version with the registration block.

Registration is per page load and lives in memory only. Nothing about it is written to the database, so there is no stale registry to clean up when you remove a plugin: it simply stops appearing.

Ready to stop reading and start using?

Every plugin documented here works alongside the others, managed from one ResultsAIx Hub.