A PHP class abstraction that removes all the headaches of the WordPress settings API under the hood and builds a nice options panel on the fly.
PHP
Latest commit d39a9ad Oct 31, 2016 @tareq1988 readme re-arranged

readme.md

What is this?

It's a PHP class wrapper for handling WordPress Settings API. Gives a very handy way to build theme or plugins option panel.

Package Installation (via Composer)

To install this package, edit your composer.json file:

{
    "require": {
        "tareq1988/wordpress-settings-api-class": "dev-master"
    }
}

Now run:

$ composer install

Usage Example

Checkout the examples folder for OOP and procedural example. They were called in plugin.php file.

A detailed tutorial can be found here.

Retrieving saved options

/**
 * Get the value of a settings field
 *
 * @param string $option settings field name
 * @param string $section the section name this field belongs to
 * @param string $default default text if it's not found
 *
 * @return mixed
 */
function prefix_get_option( $option, $section, $default = '' ) {

    $options = get_option( $section );

    if ( isset( $options[$option] ) ) {
        return $options[$option];
    }

    return $default;
}

Screenshot

Option Panel

Frequently Asked Questions

What this plugin for?

It's mainly a plugin that demonstrates the Settings API PHP class

Whats the facility?

A plugin or theme developer can build their options panel with Settings API easily

What is Settings API ?

Settings API is a functionality from WordPress that helps developers to save their options data very easily and securely. More about Settings API.

Changelog:

v1.3 (27 September, 2016)
------------------------
- [new] Placeholder support for text and textarea input
- [new] min, max and step support for number field
- [fix] Empty multicheck saving warning
- [improved] Don't show the navigation if only one section exists

v1.1 (23 April, 2015)
------------------------
- [new] Folder structure updated
- [new] composer support added
- [new] Number field added
- [new] URL field added
- [improved] wysiwyg field responsive support. Allow to pass options to wp_editor
- [new] WP Media uploader added

v1.0 (16 July, 2014)
------------------------
- [new] color, password and wysiwyg example added on plugin settings
- [new] Color Picker added
- [improved] Allow to set description for section
- Some other old fixes ;)