yard/wp-hook-registrar
最新稳定版本:v2.0.1
Composer 安装命令:
composer require yard/wp-hook-registrar
包简介
A package for WordPress hook registration.
README 文档
README
Register Hooks using php attributes.
Installation
Install this package with Composer:
```sh
composer require yard/wp-hook-registrar
```
Usage
To use this package in a standard WordPress plugin, you can use the HookRegistrar to register hooks.
You can skip step 3 and 4 from the installation instructions above and instead add the following to your plugin's
main file:
/** * Plugin Name: My Plugin */ require __DIR__ . '/vendor/autoload.php'; $classNames = [ \Plugin\ClassContainsHooks::class, \Plugin\AnotherClassContainsHooks::class, ]; $registrar = new \Yard\Hook\Registrar($classNames); $registrar->registerHooks();
Hook Attributes
This package provides two Attributes: Action and Filter. They can be used to register hooks instead of the
WordPress functions add_action() and add_filter()
This syntax allows you to place the hook registration directly above the method it invokes when the hook is triggered.
#[Action(string $hookName, int $priority = 10)] public function doSomething(): void
#[Filter(string $hookName, int $priority = 10)] public function filterSomething(): mixed
Notice that you do not need to pass the number of accepted arguments to the Action and Filter attributes as you would
with add_action() and add_filter(). Instead, the number of accepted arguments is determined by the method
signature.
You can add as many hooks to the same method as you want.
Example
<?php namespace App\Hooks; use Yard\Hook\Action; use Yard\Hook\Filter; class Theme { #[Action('save_post')] public function doSomething(int $postId, \WP_Post $post, bool $update): string { // do something } #[Filter('the_content')] #[Filter('the_excerpt')] public function filterSomething(string $content) { // filter content return $content; } }
About us
统计信息
- 总下载量: 4.1k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 8
- 点击次数: 1
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-11-19