Settings
Overview
The Settings module wraps register_setting() and the WordPress settings page APIs. It lets you define sections and fields as objects, then render or save a complete settings screen.
Types in this module
Lipe\Lib\Settings\Register_SettingLipe\Lib\Settings\Settings_PageLipe\Lib\Settings\Settings_TraitLipe\Lib\Settings\Settings_Page\FieldLipe\Lib\Settings\Settings_Page\FieldArgsLipe\Lib\Settings\Settings_Page\SectionLipe\Lib\Settings\Settings_Page\SectionArgsLipe\Lib\Settings\Settings_Page\Settings(interface)
Register_Setting
Fluent wrapper for register_setting().
Key public methods
Inherited from Lipe\Lib\Args\Args:
public function __construct(array $existing)public function merge(ArgsRules $overrides): voidpublic function get_args(): array
This class exposes WordPress setting properties such as type, description, label, sanitize_callback, show_in_rest, and default.
Settings_Page
Registers, renders, and saves a composed settings page.
Key public methods
public function init(): voidpublic function register(): voidpublic function save_network_settings(): voidpublic function render(): voidpublic function is_settings_page(): boolpublic function get_option(string $field, mixed $default_value = null): mixedpublic static function factory(Settings $settings): Settings_Page
Example
<?php
use Lipe\Lib\Settings\Settings_Page;
use Lipe\Lib\Settings\Settings_Page\Section;
$general = Section::factory('general', 'General');
$general->field('api_key', 'API Key');
Settings_Trait
Trait for CMB2-backed settings pages that want get_option() and update_option() routed through the meta repository.
Key public methods
public function get_id(): stringpublic function get_meta_type(): MetaTypepublic function get_option(string $key, mixed $default_value = null)public function update_option(string $key, mixed $value, mixed $callback_default = null): void
Field
Represents one settings field inside a section.
Key public methods
public function label_for(string $label_for): Fieldpublic function class(string $css_class): Fieldpublic function help(string $help): Fieldpublic function render_callback(callable $callback): Fieldpublic function sanitize_callback(callable $callback): Fieldpublic function settings_args(Register_Setting $settings_args): Fieldpublic function render(Settings_Page $settings): voidpublic static function factory(string $id, string $title): Field
Section
Container for a group of settings fields.
Key public methods
public function field(string $id, string $title): Fieldpublic function add_field(Field $field): Sectionpublic function before_section(string $before_section): Sectionpublic function after_section(string $after_section): Sectionpublic function section_class(string $section_class): Sectionpublic function description(string $description): Sectionpublic function get_fields(): arraypublic function render_description(): voidpublic static function factory(string $id, string $title): Section
Supporting types
FieldArgsandSectionArgsare fluent wrappers foradd_settings_field()andadd_settings_section()-specific extra arguments.Settingsis the contract implemented by page-definition objects and includesget_id(),get_title(),get_sections(),is_network(),get_parent_menu_slug(),get_description(),get_capability(),get_icon(), andget_position().