构造中的register_activation_hook不起作用

时间:2013-06-06 10:03:18

标签: wordpress wordpress-plugin

我对构造中的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块)。

这里有什么相似的人吗?

很高兴收到你的来信。

此致  奥利

1 个答案:

答案 0 :(得分:0)

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'
    )
);

此函数手动调用capability-class

的register / unregister-functions