shineunited / wordpress-hooks
管理初始化前WordPress钩子的工具。
dev-main
2023-01-17 23:21 UTC
Requires
- php: >=8.0
Requires (Dev)
- composer/composer: ^2.4
- phpcompatibility/php-compatibility: ^9.3
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.5
- roots/wordpress-no-content: >=5.6
- shineunited/coding-standard: ^1.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-09-18 02:54:10 UTC
README
描述
管理WordPress钩子的工具。允许在WordPress初始化之前注册钩子,并提供使用PHP属性定义钩子的框架。
安装
要添加wordpress-hooks,推荐的方法是通过composer。
$ composer require shineunited/wordpress-hooks
HookManager
HookManager类提供了管理WordPress钩子的静态方法。虽然大多数函数只是简单地映射到内置的WordPress函数,但其中一些函数管理初始化前的钩子。
use ShineUnited\WordPress\Hooks\HookManager; function callback_function($param1, $param2) { // code } // this can be used prior to initialization HookManager::addFilter('filter-name', 'callback-function', 10, 2);
属性钩子
也可以通过使用Hook属性和HookManager::register();来定义钩子。
use ShineUnited\WordPress\Hooks\Filter; use ShineUnited\WordPress\Hooks\HookManager; class MyObjectHooks { #[Filter('lowercase')] public function lowercase(string $value): string { return strtolower($value); } #[Filter('uppercase')] public function uppercase(string $value): string { return strtoupper($value); } } $hooks = new MyObjectHooks(); HookManager::register($hooks); // WordPress Equivalent // add_filter('lowercase', [$hooks, 'lowercase'], 10, 1); // add_filter('uppercase', [$hooks, 'uppercase'], 10, 1);
多个钩子可以应用于单个回调。
use ShineUnited\WordPress\Hooks\Action; use ShineUnited\WordPress\Hooks\Filter; use ShineUnited\WordPress\Hooks\HookManager; $closure = #[Filter('example-filter', 12)] #[Action('example-action')] function($value) { // code }; HookManager::register($closure); // WordPress Equivalent: // add_filter('example-filter', $closure, 12, 1); // add_filter('example-action', $closure, 10, 1);
函数参考
有关更多详细信息,请参阅我们的文档。