PHPackages                             underdev/settings - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. underdev/settings

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

underdev/settings
=================

Settings library for WordPress plugins

1.3(8y ago)52002PHP

Since Mar 11Pushed 8y ago2 watchersCompare

[ Source](https://github.com/Kubitomakita/settings)[ Packagist](https://packagist.org/packages/underdev/settings)[ RSS](/packages/underdev-settings/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)DependenciesVersions (7)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/a81f55faa65eaf7809810561e33c3c2ba0d8b024fc5723d3aece8bf8d0d12991/68747470733a2f2f706f7365722e707567782e6f72672f756e6465726465762f73657474696e67732f762f737461626c65)](https://packagist.org/packages/underdev/settings) [![Total Downloads](https://camo.githubusercontent.com/fe32282a4a76c3631297323139354a70d51a570bf4b877d1d47e8621b922f06d/68747470733a2f2f706f7365722e707567782e6f72672f756e6465726465762f73657474696e67732f646f776e6c6f616473)](https://packagist.org/packages/underdev/settings) [![Latest Unstable Version](https://camo.githubusercontent.com/3018a79d26b24fe787018fc07a0c6d546e731f929d2cdf9aab52f2ff284ab116/68747470733a2f2f706f7365722e707567782e6f72672f756e6465726465762f73657474696e67732f762f756e737461626c65)](https://packagist.org/packages/underdev/settings)

This is a library which helps adding custom settings pages for WordPress plugins and themes.

Sample usage
============

[](#sample-usage)

```
require_once( 'vendor/autoload.php' );

use underDEV\Utils\Settings\CoreFields;

class SettingsExample {

	public function __construct() {

		// init library with your handle
		$this->settings = new underDEV\Utils\Settings( 'example' );

		// register menu as always
		add_action( 'admin_menu', array( $this, 'register_menu' ) );

		// register some settings
		add_action( 'init', array( $this, 'register_settings' ) );

	}

	public function register_menu() {

		// pass the page hook to library to load scripts only on settings pages
		$this->settings->page_hook = add_options_page(
	        __( 'Example Settings' ),
	        __( 'Example Settings' ),
	        'manage_options',
	        'example-settings',
	        array( $this->settings, 'settings_page' )
	    );

	}

	public function register_settings() {

		$general = $this->settings->add_section( __( 'General' ), 'general' );

		$general->add_group( __( 'Pages' ), 'pages' )
			->add_field( array(
				'name'        => __( 'Results Page' ),
				'slug'        => 'results',
				'addons'      => array(
					'pretty'   => true,
					'options'  => array( 'asd1', 'asd2', 'asd3' )
				),
				'description' => __( 'The page that will be used for the search results.' ),
				'render'      => array( new CoreFields\Select(), 'input' ),
				'sanitize'    => array( new CoreFields\Select(), 'sanitize' ),
			) )
			->description( __( 'These are the default Pages plugin will use to display it\'s content' ) );

	}

}

new SettingsExample;

```

###  Health Score

32

—

LowBetter than 71% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~76 days

Total

5

Last Release

3042d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fd1fdcaa145bfe7d6d015951da54a856f34988c581ae5a2de4c9df6d3b696ebc?d=identicon)[kubitomakita](/maintainers/kubitomakita)

---

Top Contributors

[![jakubmikita](https://avatars.githubusercontent.com/u/18362490?v=4)](https://github.com/jakubmikita "jakubmikita (26 commits)")

---

Tags

librarywordpresswordpress-librarywordpress-settings

### Embed Badge

![Health badge](/badges/underdev-settings/health.svg)

```
[![Health](https://phpackages.com/badges/underdev-settings/health.svg)](https://phpackages.com/packages/underdev-settings)
```

###  Alternatives

[composer/composer

Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.

29.4k187.2M2.6k](/packages/composer-composer)[symfony/event-dispatcher

Provides tools that allow your application components to communicate with each other by dispatching events and listening to them

8.6k985.9M3.4k](/packages/symfony-event-dispatcher)[symfony/polyfill-php80

Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions

1.7k815.2M455](/packages/symfony-polyfill-php80)[symfony/var-exporter

Provides tools to export, instantiate, hydrate, clone and lazy-load PHP objects

2.1k378.1M437](/packages/symfony-var-exporter)[seld/phar-utils

PHAR file format utilities, for when PHP phars you up

875180.0M32](/packages/seld-phar-utils)[dansmith/laravel5-foundation

Zurb Foundation components for Laravel5

104.6k](/packages/dansmith-laravel5-foundation)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
