Module Registry
Register custom modules and addons with WooNooW's unified module system
WooNooW's modular architecture allows developers to create custom modules and addons that integrate seamlessly with the Settings > Modules UI.
Overview
The Module Registry provides a unified system for:
- Enable/disable toggle in the admin UI
- Custom settings with schema-based forms
- Dependencies on other modules
- SPA route registration for custom settings pages
Registering a Module
Add your module using the woonoow/modules/registry filter:
Module Properties
Settings Schema
Define a settings schema to allow users to configure your module:
Available Field Types
Common Field Properties
Select Field Example
Checking Module Status
Use ModuleRegistry::is_enabled() to check if your module is active:
Module Lifecycle Events
Hook into module enable/disable events:
SPA Routes for Settings Pages
Addons can register custom React settings pages:
Addon Registry (External Addons)
External addons can also register via woonoow/addon_registry for extended metadata:
Complete Example
Best Practices
- Check module status before loading heavy features
- Use the
woonoow/module/enabledhook to run installation routines only when needed - Specify dependencies so WooNooW can prompt users to enable required modules
- Provide meaningful descriptions to help users understand what each module does
Last updated Dec 12, 2025
