Hook: widgets.register_types
Overview
Type: Action
Location: app/Providers/AppServiceProvider.php
Register custom widget types into the widget system. Called during application boot. Themes and modules use this to add their own widgets to the admin widget manager.
Parameters
| Param | Type | Description |
|---|---|---|
$widgetManager |
WidgetManager | Widget manager instance |
Usage Example
Hook::addAction('widgets.register_types', function ($manager) {
$manager->registerType('store_locator', [
'label' => 'Store Locator',
'description' => 'Map showing store locations',
'fields' => [
'api_key' => ['type' => 'text', 'label' => 'Google Maps API Key'],
'zoom' => ['type' => 'number', 'label' => 'Default Zoom', 'default' => 12],
],
'view' => 'widgets.store-locator',
]);
});
Related Hooks
widgets.register_areas - Register display areas
widget.render.output - Filter widget HTML
PolyCMS is an open-source content management system for modern web applications, inspired by the WordPress plugin and theme ecosystem but built on top of the Laravel framework. It is designed to provide a complete foundation for content publishing, e-commerce, multi-language support, and extensible module architecture — powered by a Vue 3 admin panel with data served entirely through RESTful APIs.
Whether you're building a blog, a documentation site, an online store, or a multi-tenant SaaS platform, PolyCMS aims to give you a comprehensive starting scaffold so you can ship quickly and extend easily through integrated modules and themes. In particular, themes in PolyCMS follow a multi-theme architecture — one Main theme and an unlimited number of Sub themes can run side by side on the same installation.
We hope this ready-made foundation proves useful for building your next website, blog, or web app, saving you from having to start completely from scratch.