PHPackages                             layered/wp-helpers - 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. layered/wp-helpers

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

layered/wp-helpers
==================

Helpers for easier WordPress development

v1.10.0(6y ago)0581[1 PRs](https://github.com/LayeredStudio/wp-helpers/pulls)MITPHPPHP ^7.0

Since Sep 21Pushed 4y agoCompare

[ Source](https://github.com/LayeredStudio/wp-helpers)[ Packagist](https://packagist.org/packages/layered/wp-helpers)[ RSS](/packages/layered-wp-helpers/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)DependenciesVersions (22)Used By (0)

WordPress Helpers
=================

[](#wordpress-helpers)

**WP Helpers** is a collection of classes and librariers for easier WordPress development.

Features and use cases
----------------------

[](#features-and-use-cases)

- **CustomPostType** - Register a new post type. It fills or generates values and post types can be added with one line of code, ex: `CustomPostType::add('idea');`
- **MetaFields** - Easily add meta fields to Posts, Terms, Comments and Users, ex: `mf()->addPostMeta('number-field', ['name' => 'Number Field', type' => 'number'])`
- **Q** - Process WP actions in background without blocking the current request. Usage: `queue_action('resources_hungry_action', 'data', 4, 'action')`
- **PostMetaBox** - Create good looking and functional meta boxes for post types

How to use
----------

[](#how-to-use)

#### Installation

[](#installation)

Add `layered/wp-helpers` as a require dependency in your `composer.json` file:

```
$ composer require layered/wp-helpers
```

#### Register post type

[](#register-post-type)

Example of adding a Post Type, create a `CustomPostType` instance with name as first argument:

```
CustomPostType::add('idea', [
	'labels'	=>	[
		'name'	=>	__('Ideas', 'my-theme-or-plugin')
	],
	'rewrite'	=>	[
		'slug'	=>	'my-ideas'
	],
	'supports'	=>	['title', 'editor', 'thumbnail', 'excerpt', 'author']
])
	->addTaxonomy('tag')
	->addColumns(['author'])
;
```

#### Meta Fields

[](#meta-fields)

Meta Fields are custom fields that can be easily added to Posts, Terms, Comments and Users. They are registered with default WordPress flow, showing up as columns in list views, editable fields on edit pages, editable fields for Quick/Bulk edit screens and REST Api:

```
MetaFields::instance()->addPostMeta('second-heading', [
	'name'				=>	'Second Heading',
	'type'				=>	'text',
	'placeholder'		=>	'Heading for article',
	'show_in_rest'		=>	true,
	'showInMetaBox'		=>	true,
	'showInColumns'		=>	true,
	'showInQuickEdit'	=>	true,
	'showInBulkEdit'	=>	true
]);
```

#### Q

[](#q)

Q adds support for asynchronous actions in plugins and themes. Simple use, only include the file and switch from `do_action()` to `queue_action()`. Processing is handled in background, making web requests load qicker. Example:

```
// keeps request hanging until action is complete
do_action('resource_hungry_action', 'data', 4, 'action');

// queues the action to be handled in background
queue_action('resource_hungry_action', 'data', 4, 'action');
```

More
----

[](#more)

Please report any issues here on GitHub.

[Any contributions are welcome](CONTRIBUTING.md)

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

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

Recently: every ~91 days

Total

20

Last Release

2441d ago

Major Versions

v0.3 → v1.02018-08-22

PHP version history (2 changes)v1.3.1PHP ~7.0

v1.9.0PHP ^7.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/04be6a13bd2e1d72af13c56198468f669f39660d5c2cc8a54f8af3767d2b88bd?d=identicon)[AndreiHere](/maintainers/AndreiHere)

---

Top Contributors

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

---

Tags

wordpresswordpress-api-wrapperwp-helperswordpresswordpress pluginwordpress-theme

### Embed Badge

![Health badge](/badges/layered-wp-helpers/health.svg)

```
[![Health](https://phpackages.com/badges/layered-wp-helpers/health.svg)](https://phpackages.com/packages/layered-wp-helpers)
```

###  Alternatives

[freemius/wordpress-sdk

Freemius WordPress SDK

304125.8k7](/packages/freemius-wordpress-sdk)[rilwis/meta-box

The most powerful &amp; comprehensive plugin to create, manage, show and connect dynamic data with forms and custom fields effortlessly on WordPress.

1.2k1.8k1](/packages/rilwis-meta-box)[varunsridharan/wp-dependencies

Provides Function To Check if a plugin is active/inactive &amp; function to compare versions.

1032.5k1](/packages/varunsridharan-wp-dependencies)[justcoded/wordpress-theme-boilerplate

WordPress theme boilerplate with better code structure and OOP support.

563.9k1](/packages/justcoded-wordpress-theme-boilerplate)

PHPackages © 2026

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