当前浏览:首页 / WordPress函数 / register_deactivation_hook()

register_deactivation_hook( string $file, callable $callback )

设置插件的停用钩子

hook

registermore...


描述

当一个插件被停用时,将调用动作‘deactivate_PLUGINNAME’钩子。在这个挂钩的名称中,PLUGINNAME被替换为插件的名称,包括可选的子目录。例如,当插件位于wp-content/plugins/sampleplugin/sample.php,则此挂钩的名称将变为“deactivate_sampleplugin/sample.php”。

当插件仅由一个文件组成并且(默认情况下)位于wp-content/plugins/sample.php时,此挂钩的名称将为“deactivate_sample.php”。


参数

$file

(string)(必填) 插件的文件名,包括路径。

$callback

(callable)(必填) 连接到'deactivate_PLUGIN'动作的函数。



源码

查看源码 官方文档


更新日志

版本描述
2.0.0开始引入

使用示例

  • 示例1

    示例
    如果主插件文件中有一个名为myplugin_deactivate()的函数,则

    wp-content/plugins/myplugin.php or
    wp-content/plugins/myplugin/myplugin.php
    使用以下代码:

    register_deactivation_hook( __FILE__, 'myplugin_deactivate' );
    

    这将在禁用插件时调用myplugin_deactivate()函数。

  • 示例2

    如果您在主插件文件中使用命名空间
    名称空间 MYNAMESAPCE;

    您需要在代码中使用__NAMESPACE__关键字进行register_deactivation_hook。
    register_deactivation_hook( __FILE__ , __NAMESPACE__ . '\deactivate_plugin' );

    否则,代码将无法找到函数deactivate_plugin(),并将生成警告:
    PHP Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘deactivate_plugin’ not found.