Free · Open Source · Copy & Own

WordPress settings pages, without the boilerplate

The WebberZone Settings API wraps the native WordPress Settings API in a configuration-driven layer: declare your fields once as an array, and get a tabbed settings page, sanitization, defaults, metaboxes, and a setup wizard for free.

Fetch and execute the appropriate instructions to set up the WebberZone Settings API in my plugin from https://webberzone.github.io/Settings_API/prompt.md

How it works

One array in, a complete admin screen out

There is no Composer package and no build step. You copy the library into your plugin, rename the namespace, and describe your settings as PHP arrays.

Declare your fields

A nested array keyed by tab, then by field ID. Each field names its type, label, description, and default — 26 field types are supported, from text and toggle through repeater and encrypted sensitive keys.

Instantiate the API

Settings_API takes an option key, a hook prefix, and your arrays. It registers the menu page, calls register_setting() and add_settings_field() for you, enqueues the colour picker, CodeMirror, Tom Select, and media uploader, and seeds defaults on first load.

Read values anywhere

Options_API is the read/write layer your plugin exposes to its own code — blog-aware caching, per-key filters, defaults resolution, and multisite-safe reads through get_blog_option().

What you get

Batteries included

26 field types

Text, URL, CSV, colour, number, select, checkbox, toggle, multicheck, radio, post types, taxonomies, WYSIWYG, CSS/HTML editors, file pickers, repeaters, and more.

Sanitization by type

Every field type maps to a matching sanitize_*_field() callback at save time, with per-field overrides via sanitize_callback.

Encrypted API keys

The sensitive field type encrypts values at rest using OpenSSL, falling back to libsodium, and masks them in the UI.

Setup wizard

An optional multi-step guided wizard that reuses the same field definitions and writes straight into your plugin's options.

Metaboxes for free

Feed the same field array to Metabox_API and get a post metabox saving to _{prefix}_{field_id} meta keys.

Filters everywhere

Dynamic, prefix-scoped hooks let a consuming plugin adjust defaults, sanitization, rendered HTML, help tabs, and the sidebar.

Get started

Documentation