PHPackages                             chandrapatel/wp-custom-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. chandrapatel/wp-custom-settings

ActiveWordpress-plugin[Utility &amp; Helpers](/categories/utility)

chandrapatel/wp-custom-settings
===============================

Allows developers to create a custom admin menu page with settings using Settings API without registering callbacks to every settings section and field.

0.1(5y ago)20134GPL-2.0+PHPPHP &gt;=7

Since Oct 24Pushed 5y ago2 watchersCompare

[ Source](https://github.com/chandrapatel/wp-custom-settings)[ Packagist](https://packagist.org/packages/chandrapatel/wp-custom-settings)[ Docs](https://github.com/chandrapatel/wp-custom-settings)[ RSS](/packages/chandrapatel-wp-custom-settings/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

WP Custom Settings
==================

[](#wp-custom-settings)

Allows developers to create a custom admin menu page with settings using Settings API without registering callbacks to every settings section and field.

Supported form elements and input types
---------------------------------------

[](#supported-form-elements-and-input-types)

- Textarea
- Select
- Input Types
    - Text
    - Password
    - Email
    - Url
    - Tel
    - Number
    - Color
    - Date
    - Datetime-local
    - Month
    - Week
    - Time

Installation
------------

[](#installation)

The plugin is available as a [Composer package](https://packagist.org/packages/chandrapatel/wp-custom-settings).

```
composer require chandrapatel/wp-custom-settings

```

**Note:** If you are not using Composer then I'd suggest to add WP Custom Settings main file in your theme or plugin instead of adding as standalone plugin. This way you can modify it as per your need and avoid dependency.

Usage
-----

[](#usage)

You need to create an object of `WP_Custom_Settings` class and it accepts three arguments to create menu page, register setting and sections &amp; fields.

Please check [example.php](https://github.com/chandrapatel/wp-custom-settings/blob/master/example.php) file.

```
$custom_settings = new WP_Custom_Settings(
	// Arguments to add menu page. Following arguments are same as add_menu_page() function arguments.
	// Callback argument does not needed.
	[
		'page_title' => __( 'Custom Settings', 'wp-custom-settings' ),
		'menu_title' => __( 'Custom Settings', 'wp-custom-settings' ),
		'capability' => 'manage_options',
		'menu_slug'  => 'wp-custom-settings-page',
		'icon_url'   => '',
		'position'   => null,
	],
	// Arguments to register setting. Following arguments are same as register_setting() function arguments.
	[
		'option_group' => 'wp_custom_settings_group',
		'option_name'  => 'wp_custom_settings_options',
		'args'         => array(
			'type'              => 'array',
			'description'       => 'Description of Custom Settings.',
			'show_in_rest'      => true,
			'default'           => array(),
			'sanitize_callback' => null,
		),
	],
	// Arguments to add sections and fields.
	[
		new WP_Custom_Settings_Section(
			'wp_custom_settings_section', // ID.
			__( 'Section Title.', 'wp-custom-settings' ), // Title.
			__( 'Section Description.', 'wp-custom-settings' ), // Description.
			[
				new WP_Custom_Settings_Field(
					'text', // Field type.
					'wp_custom_settings_field', // ID. Also, it will used for "name" attribute.
					__( 'Field Title', 'wp-settings-api-wrapper' ), // Title.
					[ // Pass additional arguments.
						'description' => 'Description of Custom Settings.',
						'label_for'   => 'wp_custom_settings_field',
						'class'       => 'regular-text',
					]
				),
			]
		),
	]
);
```

Screenshot
----------

[](#screenshot)

[![alt text](screenshot.png)](screenshot.png)

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity44

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

Unknown

Total

1

Last Release

2077d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/9443225?v=4)[Chandra Patel](/maintainers/chandrapatel)[@chandrapatel](https://github.com/chandrapatel)

---

Top Contributors

[![chandrapatel](https://avatars.githubusercontent.com/u/9443225?v=4)](https://github.com/chandrapatel "chandrapatel (13 commits)")

---

Tags

settings-apiwordpresswordpress-php-librarypluginwordpresssettings-api

### Embed Badge

![Health badge](/badges/chandrapatel-wp-custom-settings/health.svg)

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

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.5k10](/packages/helsingborg-stad-municipio)[iceicetimmy/acf-post-type-selector

Post type selector for Advanced Custom Fields.

559.0k](/packages/iceicetimmy-acf-post-type-selector)

PHPackages © 2026

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