A modern PHP package for WordPress hook (action/filter) management with callback resolution and reflection caching.
composer require pollora/hook
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\ActionandPollora\Support\Facades\Filterfor full DI container support. A notice is emitted if you use the standalone classes within the framework.
// 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)
See docs/hooks.md for full documentation.
composer testGPL-2.0-or-later