Back to Main Site

Hook: settings.defaults

Last updated on Jun 24, 2026 01:40

Overview

Type: Filter Location: app/Services/SettingsService.php

Extends or overrides default setting definitions. Themes and modules use this to register their own settings that appear in the admin Settings page.

Parameters

Param Type Description
$defaults array All default setting groups
$settingsService SettingsService Service instance

Return

Must return array - extended defaults.

Usage Example

Hook::addFilter('settings.defaults', function (array $defaults) {
    $defaults['mymodule'] = [
        'mymodule_api_key' => [
            'key' => 'mymodule_api_key',
            'value' => '',
            'type' => 'text',
            'label' => 'API Key',
        ],
    ];
    return $defaults;
});

Related Hooks


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.