Back to Main Site

Hook: widgets.register_types

Last updated on Jun 24, 2026 02:47

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.