阻止插件自动激活

时间:2020-04-22 作者:rich

在我管理的一个网站上,托管公司会自动将一个插件强加于我们,这没用。

我正在寻找一个钩子/动作,可以用来完全防止插件被激活,因为即使我删除插件,它也会自动重新安装和重新激活。有人知道我应该去哪里吗?

1 个回复
最合适的回答,由SO网友:kaiser 整理而成

您可能想添加自己的插件来停用他们的插件(无提示)。首先打开他们的主插件文件,看看插件挂钩(或过滤器)在哪里。然后解开他们的插件…还有你的。

<?php
/** Plugin Name: Deactivate other plugin */
add_action( \'the_same_hook\', \'removeOtherPlugin\', PHP_INT_MAX -1 );
function removeOtherPlugin() {
    remove_filter( current_filter(), \'their_function_name\' );
    remove_filter( current_filter(), __FUNCTION__ );
}
解释使移除更方便的助手是current_filter(). 它返回当前运行的筛选器的名称
  • PHP_INT_MAX 是PHPs最大整数(减少1),它会根据操作系统功能自动调整。这是保证以后注册函数的最有效的保存方法。如果他们之后注册了,您仍然可以尝试用后面的字符开始函数名,如zzzRemoveOtherPlugin 或类似