WordPress module developed for developers who want to quickly add WordPress hooks (action & filter) without having to manually add each hook in the function.php
file (or elsewhere).
Tip
To simplify the integration of this library, we recommend using WordPress with one of the following tools: Bedrock, Themosis or Wordplate.
This documentation only covers the specific points of this library, if you want to know more about WordPress action
or filter
, the easiest is to look at the documentation of WordPress.
You can find all the documentation in the wiki or here.
Requirements
The server requirements are basically the same as for WordPress with the addition of a few ones :
- PHP >= 8.3
- Composer
Installation
You can use Composer. Follow the installation instructions if you do not already have composer installed.
composer require dbout/wp-module-hook
In your PHP script, make sure you include the autoloader:
require __DIR__ . '/vendor/autoload.php';
Before creating your first hook, you must initialize the module. It is advisable to add this code at the beginning of the functions.php
file of your theme or in a mu-plugin
.
$loader = new \Dbout\Framework\Hook\HookLoader(
directory: get_template_directory() . '/hooks',
);
$loader->register();
Now you have initialized the module, you just need to create your first action in the hooks folder in your theme.
use Dbout\Framework\Hook\Attributes\Action;
use Dbout\Framework\Hook\Attributes\Filter;
class MyFirstHook {
#[Action(name: 'wp_dashboard_setup', priority: 999)]
public function setupDashboard(): void
{
// Do something
}
#[Filter(name: 'crontrol/filtered-events', acceptedArgs: 2)]
public function filterEvents(array $filtered, array $events): array
{
// Do something
return $filtered;
}
}
💕 🦄 We encourage you to contribute to this repository, so everyone can benefit from new features, bug fixes, and any other improvements. Have a look at our contributing guidelines to find out how to raise a pull request.
Licensed under the MIT license, see LICENSE.