如何从WordPress管理面板禁用插件停用

关于WordPress的最好的部分之一是插件的可用性,使您的工作作为用户和开发人员容易。 通常在为客户创建网站时,我们作为开发人员使用对网站具有某些功能绝对至关重要的插件。 最近,我们遇到了一个客户的网站被破坏的问题。 侧边栏没有完全加载,单个页面页面上缺少的元素使他们感到困惑。 这个故事的底线是,他们的新员工之一谁是WordPress新的取消激活了一些插件,这是需要的网站才能正常工作。 我们进去并激活了所有已停用的插件,但为了避免将来出现这个问题,我们必须做些事情。 在本文中,我们将向您展示如何从WordPress管理面板禁用插件停用(仅限特定的插件)。

理论上讲,你应该可以使用Justin Tadlock的Members插件,为用户创造新的角色。 但是,我们的客户并不想走这条路。 这是一个小企业,他们雇用这个新员工来处理他们的社交媒体和博客,所以我们不能限制访问。 他们希望能够按照自己的意愿启用/关闭插件。 我们必须找到一种能够让我们的客户满意的方式,而且我们也必须找到一种方法来防止这个问题在将来发生。 感谢Steve Taylor,我们发现了一个片段,可以从指定的插件中删除“停用”链接。 它还删除了所有插件的编辑链接,因为我们不希望我们的客户端通过编辑器编辑任何插件。

所以你所要做的就是在你的主题的functions.php文件中粘贴下面的代码:

add_filter('plugin_action_links','disable_plugin_deactivation',10,4);
 function disable_plugin_deactivation($ actions,$ plugin_file,$ plugin_data,$ context){
 //删除所有的编辑链接
 如果(array_key_exists('edit',$ actions))
 unset($ actions ['edit']);
 //删除关键插件的停用链接
 if(array_key_exists('deactivate',$ actions)&& in_array($ plugin_file,array(
 'Facebook的开放式图形的间位在-的wordpress / fbogmeta.php',
 'WP-pagenavi /可湿性粉剂pagenavi.php'
 )))
 unset($ actions ['deactivate']);
 返回$操作;
 } 

现在,您需要更改$ plugin_file的数组,您可以在其中看到指定插件的列表。 该文件的路径是相对于/ wp-content / plugins /。 所以在上面的例子中,“facebook-open-graph-meta-in-wordpress / fbogmeta.php”是位于plugins文件夹内的文件夹facebook-open-graph-meta-in-wordpress中的一个文件。 您可以更改列表以添加尽可能多的插件。

这个技巧是一个捷径,它实际上并不妨碍实际的停用。 我们正在做的是隐藏停用链接。 任何具有一点WordPress知识的人都可以生成一个停用URL并运行它。 但是,如果你的客户足够狡猾,那么他们已经知道FTP是什么,他们可以简单地删除插件。

你正在做一个主题,绝对需要一个特定的插件才能正常工作? 那么不要忘记删除上面的代码。