嗨,我想知道是否有人能给我指出正确的方向。我很难弄清楚deactivate\\u plugins()是如何工作的。我已经使用下面的变体有一段时间了,直到最近它似乎一直在工作。
register_activation_hook(__FILE__, \'my_plugin_activate_deactivate\');
add_action(\'after_switch_theme\', \'my_plugin_activate_deactivate\');
function my_plugin_activate_deactivate() {
if ( !function_exists (\'mythemename\') {
deactivate_plugins( plugin_basename(__FILE__) );
}
}
第一个问题是
register_activation_hook
角色根本不起任何作用。。。无论MythMeName函数是否存在,插件都会激活。
我甚至试过这样做,但插件仍然会激活。
register_activation_hook(__FILE__, \'my_plugin_activate_deactivate\');
function my_plugin_activate_deactivate() {
deactivate_plugins( plugin_basename(__FILE__) );
}
更糟糕的是,使用
after_switch_theme
part在切换主题时抛出500服务器错误,需要通过ftp/sftp手动禁用插件。
我的目标是有一个“主题功能插件”,它可以检查主题是否处于活动状态,如果没有,则会自动停用。我错过了什么?有什么明显的?我觉得好像有拼写错误或是一些愚蠢的事情,因为这在过去似乎总是有效的。。。
Update : 我在服务器上激活了一个错误日志,正在获取有关deactivate_plugins():
Call to undefined function deactivate_plugins() in /path/to/plugin/plugin-name.php on line 25