crtl / wp-plugin-base
提供使用PHP8属性和反射API注册WordPress钩子和操作的API
1.0.5
2024-01-23 13:54 UTC
Requires
- php: ^8.1
Requires (Dev)
- phpunit/phpunit: ^10
This package is auto-updated.
Last update: 2024-09-23 15:25:45 UTC
README
提供基于PHP的反射API和PHP8属性注册钩子和动作的基础类Word插件(和主题)。
要求
- PHP >= 8.1
安装
composer require crtl/wp-plugin-base
使用
<?php use Crtl\WpPluginBase\PluginBase; use Crtl\WpPluginBase\Attribute\WPAction; use Crtl\WpPluginBase\Attribute\WPFilter; class MyPlugin extends PluginBase { /** * Registers an action by creating method in format action_{action_name} * @return void */ public function action_wp_enqueue_scripts() { wp_enqueue_script(...) } /** * Registers a filter by creating method in format action_{action_name} * @return false */ public function filter_admin_bar() { return false; } /** * Register action using {@link WPAction} attribute * @return void */ #[WPAction("action_name", 10, 0)] public function usingAttributes() { } /** * Register filter using {@link WPFilter} attribute * @return void */ #[WPFilter("filter_name", 10, 0)] public function usingAttributes() { } }
WPFilter
和WPAction
属性也可以用来分别设置动作和过滤器的可选优先级和参数数量。#[WPAction(priority: 10)] public function action_my_action() {}