Theme Overview
The theme has two layers.
Theme runtime:
- Entry point: wp-content/themes/balinot/functions.php
- Loads every PHP file in wp-content/themes/balinot/modules/ in natural order.
- Handles frontend boot, WooCommerce support, AJAX helpers, and some conditional frontend scripts.
Setup layer:
- Entry point: wp-content/themes/balinot/setup/balinot-setup.php
- Loads wp-content/themes/balinot/setup/includes/theme-options.php
- Reads the setup module manifest and boots enabled setup modules on plugins_loaded.
- Registers the Balinot admin panel and the native Site screen.
Settings storage:
- Main option: balinot_theme_settings
- Native site options branch: balinot_theme_settings[site_options]
- Other important branches include branding, content, performance, forms, woo, and email.
- Read settings through helpers from setup/includes/theme-options.php instead of reading raw options directly.
Main helpers:
- balinot_theme_get_settings(): get the full settings array.
- balinot_theme_update_settings(): save normalized settings.
- balinot_theme_setting(): read a single dot-notated setting.
- balinot_theme_option_group(): read a native site_options group with legacy fallback.
- balinot_module_enabled(): check if a module is enabled.
Admin split:
- Balinot > Site is the native settings screen for company, contact, social, FAQ, review, and help blocks.
- Balinot main panel handles operational settings, modules, Woo, email, performance, and docs.
- ACF still exists for legacy advanced options pages and content field groups.
Last updated on