rockschtar / wordpress-settings
WordPress Settings Utility/Helper for usage with roots/bedrock (mu-plugin)
Package info
github.com/rockschtar/wordpress-settings
Type:wordpress-muplugin
pkg:composer/rockschtar/wordpress-settings
1.1.1
2026-03-26 18:45 UTC
Requires
- php: >=8.3
- ext-fileinfo: *
Requires (Dev)
- brain/monkey: ^2.6
- phpunit/phpunit: ^11
- squizlabs/php_codesniffer: ^3.9
- dev-master
- 1.1.1
- 1.1.0
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.2
- 1.0.1
- 1.0.0
- 1.0.0.0-RC3
- 1.0.0-alpha.7
- 1.0.0-alpha.6
- 1.0.0-alpha.5
- 1.0.0-alpha.4
- 1.0.0-alpha.3
- 1.0.0-alpha.2
- 1.0.0-alpha.1
- 0.13.3
- 0.13.2
- 0.13.1
- 0.13.0
- 0.12.0
- 0.11.0
- 0.10.0
- 0.9.0
- 0.8.0
- 0.7.1
- 0.7.0
- 0.6.0
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.1
- 0.4.0
- 0.3.4
- 0.3.3
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.0
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.8.1
- 0.0.2
- 0.0.1
- dev-dependabot/npm_and_yarn/flatted-3.4.2
- dev-dependabot/npm_and_yarn/http-proxy-middleware-2.0.9
- dev-dependabot/npm_and_yarn/axios-1.8.4
- dev-dependabot/npm_and_yarn/express-4.21.2
- dev-dependabot/npm_and_yarn/webpack-5.94.0
- dev-overhaul
- dev-develop
This package is auto-updated.
Last update: 2026-03-26 18:46:01 UTC
README
Fluent PHP 8.3 library for the WordPress Settings API — build settings pages without boilerplate.
Requirements
- PHP 8.3+
- WordPress 6.0+
Installation
composer require rockschtar/wordpress-settings
Quick Start
use Rockschtar\WordPress\Settings\Fields\InputText; use Rockschtar\WordPress\Settings\Fields\SelectBox; use Rockschtar\WordPress\Settings\Models\ListItem; use Rockschtar\WordPress\Settings\Models\Section; use Rockschtar\WordPress\Settings\Models\SettingsPage; add_action('rswp_create_settings', function (): void { $page = SettingsPage::create('my-plugin-settings') ->setPageTitle('My Plugin') ->setMenuTitle('My Plugin') ->setCapability('manage_options'); $section = Section::create('my-plugin-general', $page) ->setTitle('General'); InputText::create('my_plugin_api_key') ->setLabel('API Key') ->setDescription('Your API key.') ->setPlaceholder('sk-...') ->addToSection($section); SelectBox::create('my_plugin_environment') ->setLabel('Environment') ->addItem(ListItem::create('production', 'Production')) ->addItem(ListItem::create('staging', 'Staging')) ->addItem(ListItem::create('development', 'Development')) ->addToSection($section); rswp_register_settings_page($page); });
Field Types
| Field | Description |
|---|---|
InputText |
Text, email, password, color, date |
InputNumber |
Numeric input with min/max/step |
InputPhone |
Tel input with pattern validation |
InputUrl |
URL input |
Textarea |
Multi-line text |
WYSIWYG |
TinyMCE rich-text editor |
CheckBox |
Single checkbox |
CheckBoxList |
Multiple checkboxes |
Radio |
Radio button group |
SelectBox |
Dropdown — single or multi-select |
UploadFile |
File upload to uploads directory |
UploadMedia |
WordPress media library picker |
Custom |
Fully custom HTML via callback |
AjaxButton |
AJAX-triggered server action |
See the full field reference for all methods and examples.
Show your support
Give a ⭐️ if this project helped you!