agence-adeliom/lumberjack-hooks

1.0.57 2023-05-30 09:00 UTC

README

使用PHP属性注册WordPress钩子、过滤器和短代码

要求

  • PHP 8.0 或更高版本
  • Composer
  • Lumberjack

安装

composer require agence-adeliom/lumberjack-hooks

# Copy the configuration file
cp vendor/agence-adeliom/lumberjack-hooks/config/hooks.php web/app/themes/YOUR_THEME/config/hooks.php

将服务提供者注册到 web/app/themes/YOUR_THEME/config/app.php

'providers' => [
    ...
    \Adeliom\Lumberjack\Hooks\HookProvider::class
]

用法

创建你的钩子类

<?php

namespace App\Hooks;

use Adeliom\Lumberjack\Hooks\Models\Action;
use Adeliom\Lumberjack\Hooks\Models\Filter;

class MyClass
{

    #[Action(tag: "init")]
    public function doSomethingAtInit()
    {
        // do something
    }
    
    #[Filter(tag: "enter_title_here")]
    public function alterEnterTitleHere()
    {
        // do something
    }
}

将类注册到你的配置文件 web/app/themes/YOUR_THEME/config/hooks.php

return [
    'register' => [
        ...
        App\Hooks\MyClass::class
    ],
];

完成!

API

#[Action(tag: "the hook name", priority: 1, accepted_args: 1)]
#[Filter(tag: "the filter name", priority: 1, accepted_args: 1)]
#[Shortcode(tag: "the shortcode code", priority: 1, accepted_args: 1)]

许可

Lumberjack Hooks 在 MIT 许可证下发布。