Skip to content

Configuration ​

Introduction ​

kitloom follows the usual Laravel conventions: every package merges its own defaults, so a site has config files only for what it changes. Publish a package's config when you need to override it, for example:

bash
php artisan vendor:publish --tag=kitloom-themes-config

Site settings that administrators change from the panel — the site title, permalinks, the active theme, the deactivated modules — are not config. They live in the options table, exactly where WordPress keeps them.

Environment ​

VariablePurpose
DB_PREFIXTable prefix, wp_ for a typical WordPress database. Empty for a fresh kitloom database.
APP_THEMEThe default theme — used when nothing is selected on Appearance → Themes, and the theme npm run build builds.
SEED_ADMIN_PASSWORDSkeletons only: the password the demo seeder gives [email protected].

Where settings are stored ​

All modules read and write site options through kitloom/settings, which reads every option in one query and caches it.

KeyDefaultMeaning
kitloom-settings.tableoptionsThe options table (wp_options with the wp_ prefix).
kitloom-themes.settingcurrent_themeThe option that holds the active theme.
kitloom-modules.optionkitloom_inactive_modulesThe option that holds the list of deactivated modules (JSON). It is intentionally not WordPress's active_plugins.

Themes ​

config/kitloom-themes.php (kitloom/themes):

KeyDefaultMeaning
defaultenv('APP_THEME', '')Theme used when none is selected in the admin.
fallbacknullTheme used when the selected and the default themes are not installed. A theme deactivated in the admin uses neither default nor fallback: the site has no theme and returns its pages as JSON.
all[]Themes that have no Composer package — directories in themes/. Packaged themes declare themselves.
base[]Override which theme a theme inherits from: ['MyThemeFr' => 'MyTheme'].
pathbase_path('themes')Where theme directories live. A theme not found there is looked up in its package in vendor/.
cache_ttl3600How long the active theme choice is cached, in seconds.
pipeline.registertrueWhether the themes module picks the page component (see Page Components).

Admin switches ​

Every admin package adds its section as soon as it is installed. When a site wants to place items itself, or hide a section, it turns the package off with a config switch instead of uninstalling it. Add the key to the module's config file (create it if the site has none):

php
// config/kitloom-redirects.php
return [
    'filament' => [
        'register' => false,
    ],
];

Filament ​

SwitchTurns off
kitloom-wp-schema.filament.registerPosts, Pages, Categories, Tags
kitloom-wp-schema.filament.settings.registerSettings pages (General, Writing, Permalinks, Widgets…)
kitloom-wp-schema.filament.comments.registerComments
kitloom-media.filament.registerMedia library
kitloom-media.filament.featured_imageThe Featured Image block on post forms
kitloom-navigation.filament.registerAppearance → Menus
kitloom-themes.filament.registerAppearance → Themes
kitloom-modules.filament.registerModules
kitloom-permissions.filament.registerUsers → Roles
kitloom-permissions.filament.user_roleThe Role field on the user form
kitloom-seo.filament.registerSEO section
kitloom-seo.filament.head_metaThe SEO block on post and term forms
kitloom-redirects.filament.registerRedirections
kitloom-custom-fields.filament.registerCustom Fields → Field Groups
kitloom-custom-fields.filament.form_sectionThe Custom Fields tab on forms
kitloom-post-types.filament.registerCustom Fields → Post Types, Taxonomies
kitloom-forms.filament.registerContact
kitloom-link-counter.filament.registerLinks report
kitloom-search-replace.filament.registerTools → Search & Replace
kitloom-shortcodes.filament.registerSettings → Shortcodes
kitloom-shop.filament.registerProducts, Shop → Orders
kitloom-slider.filament.registerSliders

Nova ​

SwitchTurns off
kitloom-wp-schema.nova.content.registerPosts, Pages, Categories, Tags resources
kitloom-wp-schema.nova.settings.registerSettings section
kitloom-wp-schema.nova.options.registerThe Options resource (raw options rows)
kitloom-wp-schema.nova.comments.registerComments
kitloom-media.nova.registerMedia library
kitloom-media.nova.form_sectionThe Featured Image tab on forms
kitloom-themes.nova.screenAppearance → Themes
kitloom-modules.nova.registerModules
kitloom-permissions.nova.registerUsers → Roles
kitloom-seo.nova.settingsSEO settings pages
kitloom-seo.nova.form_sectionThe SEO tab on forms
kitloom-redirects.nova.registerRedirect resources
kitloom-redirects.nova.menuOnly the Redirections sidebar section (resources stay)
kitloom-post-types.nova.registerPost Types, Taxonomies
kitloom-custom-fields.nova.form_sectionThe Custom Fields tab on forms
kitloom-forms.nova.resources.registerContact Forms resources
kitloom-link-counter.nova.menuLinks report section
kitloom-search-replace.nova.registerSearch & Replace
kitloom-search-replace.nova.menuOnly its sidebar entry
kitloom-shop.nova.registerProducts, Shop
kitloom-slider.nova.registerSliders

Switch or deactivate?

A switch hides the admin of a module for good, in code. Deactivating a module on the Modules screen unloads the whole module — domain and admin — and is undone with one click.