Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Pollora/hook

Repository files navigation

Pollora Hook

A modern PHP package for WordPress hook (action/filter) management with callback resolution and reflection caching.

Installation

composer require pollora/hook

Quick Start

use Pollora\Hook\Action;
use Pollora\Hook\Filter;
$action = new Action;
$filter = new Filter;
// Register action
$action->add('init', function () {
 // runs on WordPress init
});
// Register filter
$filter->add('the_content', function (string $content): string {
 return $content . '<p>Appended!</p>';
});
// Execute action
$action->do('my_custom_action', $arg1, $arg2);
// Apply filter
$filtered = $filter->apply('my_filter', $value);
// Remove hook
$action->remove('init', $callback);

Pollora framework users: When the framework is available, prefer the Laravel facades Pollora\Support\Facades\Action and Pollora\Support\Facades\Filter for full DI container support. A notice is emitted if you use the standalone classes within the framework.

Class-based Callbacks

// Class with method matching hook name (StudlyCase convention)
$action->add('wp_loaded', MyInitializer::class);
// Resolves to [new MyInitializer, 'wpLoaded']
// With dependency injection
$action->setCallbackResolver($myResolver);
$action->add('wp_loaded', MyInitializer::class);
// Resolves via $myResolver->resolve(MyInitializer::class)

Documentation

See docs/hooks.md for full documentation.

Testing

composer test

License

GPL-2.0-or-later

About

A modern PHP package for WordPress hook (action/filter) management with callback resolution and reflection caching

Resources

License

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /