Plugins

Extend your site with plugins. ZephyrPHP has a hook-based plugin system for adding features without modifying core code.

Installing Plugins

Go to CMS Admin > Plugins to manage plugins. Install a plugin by:

  1. Clicking Install Plugin
  2. Uploading a ZIP file or entering a download URL (HTTPS only)
  3. The plugin is extracted and registered automatically

Managing Plugins

From the plugins page you can:

  • Enable/Disable — Toggle plugins on and off without uninstalling
  • Configure — Access plugin-specific settings (if the plugin provides them)
  • Uninstall — Remove a plugin and its files
  • Filter — View all, enabled, or disabled plugins

How Plugins Work

Plugins use an action/filter hook system:

  • Actions — Execute code at specific points (e.g., after an entry is published)
  • Filters — Modify data as it passes through (e.g., transform entry content before rendering)

Plugin Structure

A plugin is a folder in plugins/ with at minimum:

plugins/my-plugin/
├── manifest.json    # Plugin metadata (name, version, author)
├── boot.php         # Runs when plugin is loaded — register hooks here
└── uninstall.php    # Optional cleanup when uninstalled

Security

Plugin installation includes multiple safety checks:

  • Path traversal protection
  • File count and size limits
  • HTTPS-only for URL installs
  • 50MB maximum download size
  • Slug sanitization (only a-z, 0-9, _, -)
Build Your Own

Want to create a plugin? See the Creating Plugins guide.