如何禁止客户停用必要的WordPress插件

如果您有为客户使用WordPress搭建网站,那通常在网站上会安装一些必要的插件,但是,客户可能会意外停用这些插件,这可能会影响其网站的功能,甚至会直接导致网站出问题。在本文中,我们将向您展示如何安全地防止客户停用WordPress插件而又不限制其对网站的控制。

在我们这篇文章中,主要介绍3种方法,以便您可以根据不同的需要来使用。

方法1、使用插件禁用WordPress的插件停用功能

在这里,我们需要安装一个名为 Disable Plugin Deactivation 的插件,该插件将从所有插件中删除“停用”链接。用户仍然可以安装新插件,并且可以随时自行承担禁用此预防措施的风险。

这种方法最简单,它还为具有管理员角色的所有用户提供完全控制权,他们可以随时关闭它。你需要做的就是安装并启用这个插件,然后在 插件 - Plugin Deactivation Settins 页面进行设置,如下图所示:

只需选择“禁用插件停用”选项旁边的“Enable”即可关闭所有插件的“停用”链接。

(可选)您也可以禁用插件激活,这将阻止用户激活任何其他插件。您还可以关闭插件删除功能,并防止用户安装插件更新。

注意:切勿在客户站点上禁用插件更新。这会损害WordPress的安全性,并使您的客户端容易受到安全威胁。

方法2、禁止停用特定的WordPress插件

如果涉及到网站核心功能的插件只有几个,我们并不想完全禁止用户停用其他非必要的插件,那我们可以通过代码来实现仅限制停用特定的WordPress插件。

首先,我们需要找到要禁用的插件位置。WordPress插件存储在您网站上的 wp-content/plugins 文件夹中。

您可以通过使用FTP客户端连接到WordPress主机来查看此文件夹。在plugins文件夹内,您将看到该网站上安装的每个插件的不同文件夹。

在每个文件夹内,您还将找到一个插件文件,该文件通常以该插件命名,并以.php扩展名结尾。

接下来,您需要将以下代码添加到主题的functions.php文件。

add_filter( 'plugin_action_links', 'wpkj_disable_plugin_deactivation', 10, 4 );

function wpkj_disable_plugin_deactivation( $actions, $plugin_file, $plugin_data, $context ) {
 
    if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, array(
        'wpforms/wpforms.php',
        'woocommerce/woocommerce.php'
    )))
        unset( $actions['deactivate'] );
    return $actions;
}

注意看下上面代码的第 6 和 第 7 行,我们分别禁用了 wpforms 和 WooCommerce 两个插件的停用功能,这样一来,你就可以在插件列表页面看不到它们的停用链接:

如果你要禁用其他插件,就参考第6/7行的代码来添加自己的插件信息即可。

方法3、通过用户角色限制后台功能

以上两种方法都是相对简单地禁用了插件的停用功能,但是如果我们想对客户网站后台限制更多的功能,我们就需要根据用户角色来做更多的操作。如果您对WordPress的用户角色方面的知识还不是很了解,建议先看下下面的教程:

WordPress用户角色与用户能力/权限

通常,我们建议创建一个“编辑”角色的用户账号给客户,然后使用 Adminimize 插件来设置仅供“编辑”使用的功能。

但是需要注意的是, Adminimize 插件的设置选项非常多,需要对WordPress各项功能都比较熟悉才可以进行设置,不过既然有能力为客户搭建网站,应该这个设置也不在话下了。

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

1 条评论

发表评论