描述
当一个插件被停用时,将调用动作‘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 | 开始引入 |
使用示例
示例
如果主插件文件中有一个名为myplugin_deactivate()
的函数,则wp-content/plugins/myplugin.php or
wp-content/plugins/myplugin/myplugin.php
使用以下代码:register_deactivation_hook( __FILE__, 'myplugin_deactivate' );
这将在禁用插件时调用
myplugin_deactivate()
函数。如果您在主插件文件中使用命名空间
名称空间 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.