vincentvdree / wp-hooked
A small package for defining actions and filters in WordPress using classes and attributes.
2.0.0
2026-04-11 18:48 UTC
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.83
- phpstan/phpstan: ^2.1
- szepeviktor/phpstan-wordpress: ^2.0
README
WP-Hooked is a modern PHP package for registering WordPress actions and filters using PHP 8 attributes. It provides a clean and object-oriented approach to managing hooks in your WordPress projects.
Features
- Register WordPress actions and filters using PHP attributes
- Mark hook classes with the
Hookableinterface for auto-discovery - Supports priorities and accepted arguments
- Clean, maintainable, and testable code structure
- Composer compatible
Requirements
- PHP 8.0 or higher
- WordPress 5.8 or higher
Installation
You can install WP-Hooked via Composer. Run the following command in your WordPress project directory:
composer require vincentvdree/wp-hooked
Usage
To use WP-Hooked, you need to create a class and define your hooks using attributes. Here's a simple example:
namespace MyNamespace; use VincentvdRee\WP_Hooked\Attributes\Action; use VincentvdRee\WP_Hooked\Attributes\Filter; use VincentvdRee\WP_Hooked\Hookable; class MyHooks implements Hookable { #[Action('init')] public function onInit() { // Your code here } #[Filter('the_content', priority: 20, accepted_args: 2)] public function filterContent($content, $postId) { // Your code here return $content; } }
use VincentvdRee\WP_Hooked\Hooked; $hooked = new Hooked(); $hooked->init();