Appearance
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-configSite 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
| Variable | Purpose |
|---|---|
DB_PREFIX | Table prefix, wp_ for a typical WordPress database. Empty for a fresh kitloom database. |
APP_THEME | The default theme — used when nothing is selected on Appearance → Themes, and the theme npm run build builds. |
SEED_ADMIN_PASSWORD | Skeletons 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.
| Key | Default | Meaning |
|---|---|---|
kitloom-settings.table | options | The options table (wp_options with the wp_ prefix). |
kitloom-themes.setting | current_theme | The option that holds the active theme. |
kitloom-modules.option | kitloom_inactive_modules | The option that holds the list of deactivated modules (JSON). It is intentionally not WordPress's active_plugins. |
Themes
config/kitloom-themes.php (kitloom/themes):
| Key | Default | Meaning |
|---|---|---|
default | env('APP_THEME', '') | Theme used when none is selected in the admin. |
fallback | null | Theme 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']. |
path | base_path('themes') | Where theme directories live. A theme not found there is looked up in its package in vendor/. |
cache_ttl | 3600 | How long the active theme choice is cached, in seconds. |
pipeline.register | true | Whether 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
| Switch | Turns off |
|---|---|
kitloom-wp-schema.filament.register | Posts, Pages, Categories, Tags |
kitloom-wp-schema.filament.settings.register | Settings pages (General, Writing, Permalinks, Widgets…) |
kitloom-wp-schema.filament.comments.register | Comments |
kitloom-media.filament.register | Media library |
kitloom-media.filament.featured_image | The Featured Image block on post forms |
kitloom-navigation.filament.register | Appearance → Menus |
kitloom-themes.filament.register | Appearance → Themes |
kitloom-modules.filament.register | Modules |
kitloom-permissions.filament.register | Users → Roles |
kitloom-permissions.filament.user_role | The Role field on the user form |
kitloom-seo.filament.register | SEO section |
kitloom-seo.filament.head_meta | The SEO block on post and term forms |
kitloom-redirects.filament.register | Redirections |
kitloom-custom-fields.filament.register | Custom Fields → Field Groups |
kitloom-custom-fields.filament.form_section | The Custom Fields tab on forms |
kitloom-post-types.filament.register | Custom Fields → Post Types, Taxonomies |
kitloom-forms.filament.register | Contact |
kitloom-link-counter.filament.register | Links report |
kitloom-search-replace.filament.register | Tools → Search & Replace |
kitloom-shortcodes.filament.register | Settings → Shortcodes |
kitloom-shop.filament.register | Products, Shop → Orders |
kitloom-slider.filament.register | Sliders |
Nova
| Switch | Turns off |
|---|---|
kitloom-wp-schema.nova.content.register | Posts, Pages, Categories, Tags resources |
kitloom-wp-schema.nova.settings.register | Settings section |
kitloom-wp-schema.nova.options.register | The Options resource (raw options rows) |
kitloom-wp-schema.nova.comments.register | Comments |
kitloom-media.nova.register | Media library |
kitloom-media.nova.form_section | The Featured Image tab on forms |
kitloom-themes.nova.screen | Appearance → Themes |
kitloom-modules.nova.register | Modules |
kitloom-permissions.nova.register | Users → Roles |
kitloom-seo.nova.settings | SEO settings pages |
kitloom-seo.nova.form_section | The SEO tab on forms |
kitloom-redirects.nova.register | Redirect resources |
kitloom-redirects.nova.menu | Only the Redirections sidebar section (resources stay) |
kitloom-post-types.nova.register | Post Types, Taxonomies |
kitloom-custom-fields.nova.form_section | The Custom Fields tab on forms |
kitloom-forms.nova.resources.register | Contact Forms resources |
kitloom-link-counter.nova.menu | Links report section |
kitloom-search-replace.nova.register | Search & Replace |
kitloom-search-replace.nova.menu | Only its sidebar entry |
kitloom-shop.nova.register | Products, Shop |
kitloom-slider.nova.register | Sliders |
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.