3

我对构造中的 register_activation_hook 有疑问。

我已经读过,这应该是可能的,但我不知道,目前不会将任何内容写入error_log(用于调试)。

看这里,作者说它应该可以工作http://www.plulz.com/how-to-create-a-plugin-for-wordpress

这是我的代码

<?php
abstract class LW_Capability{
    const NAME = 'Capability';

    public function __construct(){
        register_activation_hook(
            __FILE__,
            array(
                $this,
                'activate'
            )
        );

        register_deactivation_hook(
            __FILE__,
            array(
                $this,
                'deactivate'
            )
        );
    }

    public function activate(){
        error_log('LW_Capability->activate');
    }

    public function deactivate(){
        error_log('LW_Capability->deactivate');
    }


}

class CapabilityEditRessource extends LW_Capability{
    const NAME = 'EditRessource';
}
?>

我做错了什么?如果我在 LW_Capability 中添加一个“die('parent')”,它就会死掉。插件无法激活(WP Blocks 因为输出)。

这里有人做类似的事情吗?

很高兴收到您的来信。

问候,奥利

4

1 回答 1

1
register_activation_hook(
        __FILE__,
        array(
            $this,
            'activate'
        )
    );

    register_deactivation_hook(
        __FILE__,
        array(
            $this,
            'deactivate'
        )
    );

只能在插件的主文件中使用^^

我将其修改为

register_activation_hook(
    __FILE__,
    array(
        $MyPluginInstance,
        'activate'
    )
);

register_deactivation_hook(
    __FILE__,
    array(
        $MyPluginInstance,
        'deactivate'
    )
);

并且这个函数手动调用了能力类的注册/注销函数

于 2013-06-06T11:12:19.090 回答