PHPackages                             shinepress/framework - 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. [Framework](/categories/framework)
4. /
5. shinepress/framework

ActiveLibrary[Framework](/categories/framework)

shinepress/framework
====================

Framework for building Wordpress plugins and themes.

1.0.0(12mo ago)02772MITPHPPHP &gt;=8.1CI passing

Since May 19Pushed 12mo ago1 watchersCompare

[ Source](https://github.com/shinepress/framework)[ Packagist](https://packagist.org/packages/shinepress/framework)[ RSS](/packages/shinepress-framework/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (5)Versions (4)Used By (2)

shinepress/framework
====================

[](#shinepressframework)

[![License](https://camo.githubusercontent.com/5848ff4db21f374c0e86302e0a9ba314d107e094542492a85b47c064882cf631/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f7368696e6570726573732f6672616d65776f726b)](https://github.com/shinepress/framework/blob/main/LICENSE)[![Latest Version](https://camo.githubusercontent.com/a383a82b9480efe10a41573aa426d9f90064964e2d312521c094448bfe14e5d6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7368696e6570726573732f6672616d65776f726b3f6c6162656c3d6c6174657374)](https://packagist.org/packages/shinepress/framework/)[![PHP Version](https://camo.githubusercontent.com/c93c01b7dc12367a5de909bd3ddd81e7a16ce64474676ead6b169b6cb709bf13/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f7368696e6570726573732f6672616d65776f726b2f7068703f6c6162656c3d706870)](https://www.php.net/releases/index.php)[![Main Status](https://camo.githubusercontent.com/ba99d49a6d05e8a5449eb9a61c510e0301362f2fe3f5b3d0a8a3dc7175973bd2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7368696e6570726573732f6672616d65776f726b2f7665726966792e796d6c3f6272616e63683d6d61696e266c6162656c3d6d61696e)](https://github.com/shinepress/framework/actions/workflows/verify.yml?query=branch%3Amain)[![Release Status](https://camo.githubusercontent.com/9619b530eaf82f4cfc26b252588c0c5f2f4b48d79d66f73ceb352c6c88247da3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7368696e6570726573732f6672616d65776f726b2f7665726966792e796d6c3f6272616e63683d72656c65617365266c6162656c3d72656c65617365)](https://github.com/shinepress/framework/actions/workflows/verify.yml?query=branch%3Arelease)[![Develop Status](https://camo.githubusercontent.com/4620a8c3d0db941493aa9495d5a425bc6a33609383a680a5b1f08ece7bff87cf/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7368696e6570726573732f6672616d65776f726b2f7665726966792e796d6c3f6272616e63683d646576656c6f70266c6162656c3d646576656c6f70)](https://github.com/shinepress/framework/actions/workflows/verify.yml?query=branch%3Adevelop)

Description
-----------

[](#description)

A framework for creating Wordpress plugins and themes.

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

[](#installation)

The recommendend installation method is with composer:

```
$ composer require shinepress/framework
```

Usage
-----

[](#usage)

The core of the framework is the Module class, create registerable modules for plugins and themes by extending it. The configure/initialize/finalize hooks can be overriden to run at specific times.

```
use ShinePress\Framework\Module;

class MyModule extends Module {

	protected function initialize(): void {
		// runs during constructor
	}

	protected function prepare(): void {
		// runs before registration
	}

	protected function cleanup(): void {
		// runs after registration
	}
}

// register the module
MyModule::register();
```

### Attributes

[](#attributes)

The primary purpose of the framework is to allow the configuration of a plugin/theme component using attributes.

Note: this is an example only, for actions and filters the [shinepress/hooks](https://packagist.org/packages/shinepress/hooks/) package is recommended.

```
use ShinePress\Framework\Attribute\MethodAttributeInterface;
use ShinePress\Framework\Module;
use Attribute;
use ReflectionMethod;

#[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)]
class ActionHook implements MethodAttributeInterface {
	private string $name;
	private int $priority;

	public function __construct(string $name, int $priority = 10) {
		$this->name = $name;
		$this->priority = $priority;
	}

	public function register(Module $module, ReflectionMethod $method): void;
		add_action(
			$this->name,
			[$module, $method->getName()],
			$this->priority,
			$method->getNumberOfParameters(),
		);
	}
}

class MyModule extends Module {

	#[ActionHook('save_post', 20)]
	public function onSavePost($post_id, $post, $update): void {
		// do something...
	}
}

MyModule::register();
```

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance50

Moderate activity, may be stable

Popularity11

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.6% 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

364d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/8301342?v=4)[Shine United](/maintainers/shineunited)[@shineunited](https://github.com/shineunited)

---

Top Contributors

[![rmlasseter](https://avatars.githubusercontent.com/u/5660821?v=4)](https://github.com/rmlasseter "rmlasseter (40 commits)")[![shineadmin](https://avatars.githubusercontent.com/u/3662582?v=4)](https://github.com/shineadmin "shineadmin (1 commits)")

---

Tags

pluginwordpresstheme

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/shinepress-framework/health.svg)

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

###  Alternatives

[themosis/theme

The Themosis framework boilerplate theme.

10449.0k3](/packages/themosis-theme)[alleyinteractive/pest-plugin-wordpress

WordPress Pest Integration

263.7k1](/packages/alleyinteractive-pest-plugin-wordpress)

PHPackages © 2026

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