PHPackages                             typisttech/wp-better-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. typisttech/wp-better-settings

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

typisttech/wp-better-settings
=============================

A simplified OOP implementation of the WP Settings API

0.14.0(8y ago)1634.8k↓100%3[5 issues](https://github.com/typisttech/wp-better-settings/issues)1GPL-2.0+PHPPHP &gt;7.0

Since Feb 14Pushed 3y ago2 watchersCompare

[ Source](https://github.com/typisttech/wp-better-settings)[ Packagist](https://packagist.org/packages/typisttech/wp-better-settings)[ Docs](https://www.typist.tech/projects/wp-better-settings)[ RSS](/packages/typisttech-wp-better-settings/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (7)Versions (20)Used By (1)

WP Better Settings
==================

[](#wp-better-settings)

[![Latest Stable Version](https://camo.githubusercontent.com/9f7e20286729a2447e0114a839d3003103ff497672542e717f998b813e084e90/68747470733a2f2f706f7365722e707567782e6f72672f747970697374746563682f77702d6265747465722d73657474696e67732f762f737461626c65)](https://packagist.org/packages/typisttech/wp-better-settings)[![Total Downloads](https://camo.githubusercontent.com/be609e462b90bc9744635a656372e6b2d4ad8295a36ba37af1b9414553d0712e/68747470733a2f2f706f7365722e707567782e6f72672f747970697374746563682f77702d6265747465722d73657474696e67732f646f776e6c6f616473)](https://packagist.org/packages/typisttech/wp-better-settings)[![Build Status](https://camo.githubusercontent.com/d2b95d11de21883aafcfc451c9a193ab0c73c2aa1c71d3cfc79d5a03ed41f58f/68747470733a2f2f7472617669732d63692e6f72672f547970697374546563682f77702d6265747465722d73657474696e67732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/TypistTech/wp-better-settings)[![codecov](https://camo.githubusercontent.com/33bfd8c07a7040b4154cdacf01a706fcf996e12f19656ddee985196312e0bb23/68747470733a2f2f636f6465636f762e696f2f67682f547970697374546563682f77702d6265747465722d73657474696e67732f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/TypistTech/wp-better-settings)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/faf32c3014a0919bd61dc27d5818df0fdee9760d5eb6706b7ec4fc7e7891f330/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f547970697374546563682f77702d6265747465722d73657474696e67732f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/TypistTech/wp-better-settings/?branch=master)[![PHP Versions Tested](https://camo.githubusercontent.com/f4d456d835d75595181a008a5ea4b368cc88428a2defa5e2468c47db132609cd/687474703a2f2f7068702d6579652e636f6d2f62616467652f747970697374746563682f77702d6265747465722d73657474696e67732f7465737465642e737667)](https://travis-ci.org/TypistTech/wp-better-settings)[![StyleCI](https://camo.githubusercontent.com/b89a764c6a0c3ef0470d326c5c01530bc9fb7c348644b1ff5a9497b397d6e61a/68747470733a2f2f7374796c6563692e696f2f7265706f732f38313934353232322f736869656c643f6272616e63683d6d6173746572)](https://styleci.io/repos/81945222)[![License](https://camo.githubusercontent.com/38c057f539a186940e8684fe2d22940d6767fdd8efceb99af64677cc0f8ae9b6/68747470733a2f2f706f7365722e707567782e6f72672f747970697374746563682f77702d6265747465722d73657474696e67732f6c6963656e7365)](https://packagist.org/packages/typisttech/wp-better-settings)[![Donate via PayPal](https://camo.githubusercontent.com/b57c445af971e3e99c2d0ccdbf4fa7faa4358ba27fecc8f68459b30289f82eda/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446f6e6174652d50617950616c2d626c75652e737667)](https://typist.tech/donate/wp-better-settings/)[![Hire Typist Tech](https://camo.githubusercontent.com/e392a964bbdc0c32d95825bbc8253027387bcb9b021176d807d22ac75d86f308/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f486972652d547970697374253230546563682d6666363962342e737667)](https://typist.tech/contact/)

A simplified OOP implementation of the WP Settings API.

- [Install](#install)
- [Usage](#usage)
    - [Example](#example)
- [Frequently Asked Questions](#frequently-asked-questions)
    - [Is this a plugin?](#is-this-a-plugin)
    - [What to do when wp.org plugin team tell me to clean up the `vendor` folder?](#what-to-do-when-wporg-plugin-team-tell-me-to-clean-up-the-vendor-folder)
    - [Can two different plugins use this package at the same time?](#can-two-different-plugins-use-this-package-at-the-same-time)
    - [Do you have a demo plugin that use this package?](#do-you-have-a-demo-plugin-that-use-this-package)
    - [Do you have real life examples that use this package?](#do-you-have-real-life-examples-that-use-this-package)
    - [It looks awesome. Where can I find some more goodies like this?](#it-looks-awesome-where-can-i-find-some-more-goodies-like-this)
- [Support](#support)
    - [Why don't you hire me?](#why-dont-you-hire-me)
    - [Want to help in other way? Want to be a sponsor?](#want-to-help-in-other-way-want-to-be-a-sponsor)
- [Developing](#developing)
- [Running the Tests](#running-the-tests)
- [Feedback](#feedback)
- [Change log](#change-log)
- [Security](#security)
- [Contributing](#contributing)
- [Credits](#credits)
- [License](#license)

Install
-------

[](#install)

Installation should be done via composer, details of how to install composer can be found at .

```
$ composer require typisttech/wp-better-settings
```

You should put all `WP Better Settings` classes under your own namespace to avoid class name conflicts.

- [imposter-plugin](https://github.com/Typisttech/imposter-plugin)
- [mozart](https://github.com/coenjacobs/mozart)

Usage
-----

[](#usage)

### Example

[](#example)

Coming soon... Use the source...

Frequently Asked Questions
--------------------------

[](#frequently-asked-questions)

### Is this a plugin?

[](#is-this-a-plugin)

No, this is a package that should be part of your plugin.

### What to do when wp.org plugin team tell me to clean up the `vendor` folder?

[](#what-to-do-when-wporg-plugin-team-tell-me-to-clean-up-the-vendor-folder)

Re-install packages via the following command. This package exports only necessary files to `dist`.

```
$ composer install --no-dev --prefer-dist --optimize-autoloader
```

### Can two different plugins use this package at the same time?

[](#can-two-different-plugins-use-this-package-at-the-same-time)

Yes, if put all `WP Better Settings` classes under your own namespace to avoid class name conflicts.

- [imposter-plugin](https://github.com/Typisttech/imposter-plugin)
- [mozart](https://github.com/coenjacobs/mozart)

### Do you have a demo plugin that use this package?

[](#do-you-have-a-demo-plugin-that-use-this-package)

You can install this demo plugin by

```
$ wp plugin install https://github.com/TypistTech/wp-better-settings/archive/nightly.zip --activate
```

Check out [`wp-better-settings.php`](./wp-better-settings.php). We use it for acceptance tests.

### Do you have real life examples that use this package?

[](#do-you-have-real-life-examples-that-use-this-package)

Here you go:

- [Sunny](https://github.com/Typisttech/sunny)
- [WP Cloudflare Guard](https://github.com/TypistTech/wp-cloudflare-guard)

*Add your own plugin [here](https://github.com/TypistTech/wp-better-settings/edit/master/README.md)*

### It looks awesome. Where can I find some more goodies like this?

[](#it-looks-awesome-where-can-i-find-some-more-goodies-like-this)

- Articles on Typist Tech's [blog](https://typist.tech)
- [Tang Rufus' WordPress plugins](https://profiles.wordpress.org/tangrufus#content-plugins) on wp.org
- More projects on [Typist Tech's GitHub profile](https://github.com/TypistTech)
- Stay tuned on [Typist Tech's newsletter](https://typist.tech/go/newsletter)
- Follow [Tang Rufus' Twitter account](https://twitter.com/TangRufus)
- Hire [Tang Rufus](https://typist.tech/contact) to build your next awesome site

Support
-------

[](#support)

Love `wp-better-settings`? Help me maintain it, a [donation here](https://typist.tech/donation/) can help with it.

### Why don't you hire me?

[](#why-dont-you-hire-me)

Ready to take freelance WordPress jobs. Contact me via the contact form [here](https://typist.tech/contact/) or, via email

### Want to help in other way? Want to be a sponsor?

[](#want-to-help-in-other-way-want-to-be-a-sponsor)

Contact: [Tang Rufus](mailto:tangrufus@gmail.com)

Developing
----------

[](#developing)

To setup a developer workable version you should run these commands:

```
$ composer create-project --keep-vcs --no-install typisttech/wp-better-settings:dev-master
$ cd wp-better-settings
$ composer install
```

Running the Tests
-----------------

[](#running-the-tests)

[WP Better Settings](https://github.com/TypistTech/wp-better-settings) run tests on [Codeception](http://codeception.com/) and relies [wp-browser](https://github.com/lucatume/wp-browser) to provide WordPress integration. Before testing, you have to install WordPress locally and add a [codeception.yml](http://codeception.com/docs/reference/Configuration) file. See [\*.suite.example.yml](./tests/) for [Local by Flywheel](https://share.getf.ly/v20q1y) configuration examples.

Actually run the tests:

```
$ composer test
```

We also test all PHP files against [PSR-2: Coding Style Guide](http://www.php-fig.org/psr/psr-2/) and part of the [WordPress coding standard](https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards).

Check the code style with `$ composer check-style`.

Feedback
--------

[](#feedback)

**Please provide feedback!** We want to make this package useful in as many projects as possible. Please submit an [issue](https://github.com/TypistTech/wp-better-settings/issues/new) and point out what you do and don't like, or fork the project and make suggestions. **No issue is too small.**

Change log
----------

[](#change-log)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) and [CODE\_OF\_CONDUCT](./CODE_OF_CONDUCT.md) for details.

Credits
-------

[](#credits)

[WP Better Settings](https://github.com/TypistTech/wp-better-settings) is a [Typist Tech](https://typist.tech) project and maintained by [Tang Rufus](https://twitter.com/Tangrufus), freelance developer for [hire](https://typist.tech/contact/).

Full list of contributors can be found [here](https://github.com/TypistTech/wp-better-settings/graphs/contributors).

Special thanks to [Alain Schlesser](https://www.alainschlesser.com/) whose [Using A Config To Write Reusable Code Series](https://www.alainschlesser.com/config-files-for-reusable-code/) makes the first versions of this package.

License
-------

[](#license)

[WP Better Settings](https://github.com/TypistTech/wp-better-settings) is licensed under the GPLv2 (or later) from the [Free Software Foundation](http://www.fsf.org/). Please see [License File](LICENSE) for more information.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance14

Infrequent updates — may be unmaintained

Popularity34

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 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 ~25 days

Recently: every ~97 days

Total

19

Last Release

2920d ago

### Community

Maintainers

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

---

Top Contributors

[![tangrufus](https://avatars.githubusercontent.com/u/2259834?v=4)](https://github.com/tangrufus "tangrufus (299 commits)")

---

Tags

wordpresswordpress-developmentwordpress-php-librarywordpresswp

### Embed Badge

![Health badge](/badges/typisttech-wp-better-settings/health.svg)

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

###  Alternatives

[typisttech/wp-admin-tabs

Create tabbed navigation for WordPress admin dashboard, the OOP way

1712.5k](/packages/typisttech-wp-admin-tabs)[justcoded/wordpress-theme-boilerplate

WordPress theme boilerplate with better code structure and OOP support.

563.9k1](/packages/justcoded-wordpress-theme-boilerplate)[balbuf/composer-wp

Manage WordPress core, plugins, and themes with composer.

173.6k](/packages/balbuf-composer-wp)[typisttech/wp-admin-notices

A simplified OOP implementation of the WordPress admin notices

141.2k](/packages/typisttech-wp-admin-notices)

PHPackages © 2026

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