如何防止客户停用 WordPress 插件

已发表: 2023-04-21


您想防止客户意外停用 WordPress 插件吗?

如果您为其他人构建网站,那么您可能会在每个客户站点上安装一些重要的插件。 如果客户不小心停用了这些基本插件之一,则可能会彻底破坏他们的网站。

在本文中,我们将向您展示如何阻止客户端停用 WordPress 插件。

How to prevent clients from deactivating WordPress plugins

为什么要阻止客户停用 WordPress 插件?

如果您为其他人创建网站,那么您可能有一个必须安装在每个网站上的 WordPress 插件列表。 这些可能是保护客户端免受黑客和恶意代码侵害的安全插件。

您甚至可以使用插件来自动执行重要的 WordPress 维护任务,例如创建定期备份或删除垃圾评论。

如果客户不小心停用了其中一个插件,则可能会使他们的网站容易受到攻击,或影响其工作方式。 在最坏的情况下,它甚至可能会完全破坏他们的网站。

尽管这不是您的错,但这仍然是糟糕的客户体验,并且可能会损害您的声誉。 话虽如此,让我们看看如何阻止客户意外停用 WordPress 中的插件。

只需使用下面的快速链接直接跳转到您要使用的方法。

方法 1. 使用默认的 WordPress 用户角色(无需插件)

WordPress 带有一个简单但功能强大的用户管理系统,其中每个用户根据其分配的角色具有不同的功能。

当您安装 WordPress 时,它会自动创建以下用户角色:

默认情况下,只有管理员有权管理插件,包括停用插件。

考虑到这一点,我们建议为您的客户创建一个管理员帐户,以便他们有办法管理他们的网站。 然后,您可以为需要访问权限但不需要管理员权限的任何其他人创建非管理员帐户。

没有管理员权限,这意味着您的大多数客户将无法停用插件。

您可以为非管理员帐户使用任何角色。 但是,我们建议使用编辑器,因为它允许用户创建、编辑、发布和删除内容,包括其他人创建的内容。 他们只是无法访问更高级别的 WordPress 功能。

将管理员帐户提供给具有 WordPress 经验并了解如何管理 WordPress 网站的人也是一个好主意。

要为一个或多个客户创建帐户,请转到 WordPress 仪表板中的用户 » 添加新帐户。 然后您可以输入有关此人的一些信息,包括他们的姓名和电子邮件地址。

Adding new users to a WordPress website

完成后,打开 Role 下拉菜单并选择您要分配给该用户的角色,例如 Admin 或 Editor。

如果您对输入的信息感到满意,请单击“添加新用户”。

Preventing clients from deactivating WordPress plugins with user roles

要创建更多帐户,只需按照上述相同的过程操作即可。 有关此主题的更多信息,请参阅我们关于如何将新用户添加到您的 WordPress 博客的指南。

方法 2. 使用成员插件(创建自定义客户端角色)

有时您可能需要阻止客户端停用插件而不限制他们对其他区域的访问。

话虽如此,内置的用户角色可能不适合您的网站。 例如,编辑器无法停用插件,但他们也无法添加新用户或安装 WordPress 主题,这对您的客户来说可能是个问题。

如果默认用户角色不太适合您的客户,那么您可以创建自定义角色。 此角色可以完全具有客户需要的权限和能力。 您甚至可以为不同的团队甚至个别员工创建不同的角色。

创建自定义角色的最简单方法是使用免费的成员插件。 该插件允许您创建新角色,然后为这些用户角色添加和删除功能,包括激活和停用 WordPress 插件的能力。

此权限从左侧菜单中删除插件设置,如下图所示。

Stop clients from deactivating plugins by hiding the Plugins menu

您需要做的第一件事是安装并激活会员插件。 有关更多详细信息,请参阅我们关于如何安装 WordPress 插件的分步指南。

激活后,转到Members » Add New Role

Prevent clients from deactivating WordPress plugins using the Members plugin

在“输入角色名称”字段中,输入您要使用的名称。 这对有权访问 WordPress 仪表板的任何人都是可见的。

之后,是时候授予和拒绝权限了。

左栏显示所有不同类型的内容,例如可重用块和 WooCommerce 产品。 只需单击一个选项卡,您就会看到该内容类型的所有权限。

然后您可以继续检查每个权限的“授予”或“拒绝”框。 有关更多详细说明,请参阅我们关于如何添加或删除用户功能的指南。

How to add and remove permissions from a client account

要阻止客户端停用插件,请单击左侧的“插件”选项卡。

在此屏幕上,选中“激活插件”行上的“拒绝”框。

Preventing clients from deactivating plugins with a custom user role

如果您对用户角色的设置方式感到满意,请单击“添加角色”。

您现在可以按照方法 1 中描述的相同过程将此角色分配给任何用户。

方法 3. 使用自定义 PHP(防止客户端停用特定插件)

如果你想阻止客户端停用所有插件,那么你可以使用上述方法之一。

但是,有时您可能只想保护必要的插件,同时仍允许客户自由停用和删除非必要的软件。

保护特定插件的最佳方法是在 WordPress 中添加自定义代码。 这允许您删除特定插件的“停用”链接。

这是一种高级方法,因此我们不建议初学者使用。

Removing the 'Deactivate' link from the WordPress plugins menu

注意:请注意,客户仍然可以使用“批量操作”下拉菜单或使用 FTP 或 phpMyAdmin 等高级工具停用任何插件。 但是,删除“停用”链接会使客户更难意外停用基本插件。

首先,您需要知道插件的文件名及其在服务器上的位置。 通常,这些文件使用插件的名称后跟 .php,并位于以插件命名的文件夹中。 例如,WooCommerce 文件名为“woocommerce.php”并位于“woocommerce”文件夹中。

然而,它仍然值得检查,特别是如果插件的名称又长又复杂或有多个单词。 例如,如果您使用 SR Product 360° View 插件在 WordPress 中添加交互式 360 度图像,则其文件名为“sr.php”。

您可以使用 FileZilla 等 FTP 客户端连接到站点服务器来检查文件名和位置,或者您可以使用 WordPress 托管 cPanel 的文件管理器。

如果这是您第一次使用 FTP,那么您可以查看我们关于如何使用 FTP 连接到您的站点的完整指南。

之后,转到 /wp-content/plugins/。 在这里,您会看到您网站上的所有不同插件。

An FTP WordPress client

只需找到您要保护的插件,然后打开其文件夹即可。

之后,找到 .php 文件。

How to find a plugin file in FileZilla

现在,记下文件夹名称和 .php 文件,因为您将在代码中使用这些信息。 只需为您要保护的每个插件重复此过程。

完成后,是时候向您的网站添加代码片段了。 通常,您会发现指南要求您将代码添加到站点的 functions.php 文件中。

但是,不建议这样做,因为简单的错误可能会导致无数常见的 WordPress 错误。 当您更新 WordPress 主题时,您也会丢失自定义代码。

这就是 WPCode 的用武之地。

WPCode 是超过 100 万个 WordPress 网站使用的最佳代码片段插件。 它使添加自定义 CSS、HTML、PHP 等变得容易。

您需要做的第一件事是安装并激活免费的 WPCode 插件。 有关更多详细信息,请参阅我们关于如何安装 WordPress 插件的分步指南。

激活后,前往代码片段»添加片段

Adding custom code snippets to a WordPress website

在这里,将鼠标悬停在“添加您的自定义代码”上。

当它出现时,点击“使用片段”。

Prevent clients from deactivating plugins using WPCode

首先,输入自定义代码片段的标题。 这可以是帮助您识别 WordPress 仪表板中的片段的任何内容。

之后,打开“代码类型”下拉菜单并选择“PHP 代码段”。

Adding a PHP snippet to WordPress

现在,您已准备好添加自定义 PHP。 确切的代码将根据您保护的插件而有所不同,但这里有一个您可以使用的模板:

add_filter( 'plugin_action_links', 'disable_plugin_deactivation', 10, 4 );
function 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;

此代码段禁用 WPForms 和 WooCommerce 的停用。 为了保护其他插件,只需将“wpforms/wpforms.php”和“woocommerce/woocommerce.php”替换为您在上一步中获得的文件夹和文件名即可。

要禁用更多插件的停用,只需将它们添加到代码中即可。 例如:

  'wpforms/wpforms.php',
        'woocommerce/woocommerce.php',
		'service-box/service-box.php'
	
    )))

之后,滚动到“插入”部分。 WPCode 可以将您的代码添加到不同的位置,例如在每个帖子之后、仅前端或仅管理员。

我们只需要在 WordPress 管理区域中使用 PHP 代码,因此如果尚未选择“自动插入”,请单击它。 然后,打开“位置”下拉菜单并选择“仅限管理员”。

Adding custom PHP code to the WordPress admin area

之后,您就可以滚动到屏幕顶部并单击“非活动”开关,它会变为“活动”。

最后,单击“保存代码段”以使 PHP 代码段生效。

How to prevent clients from deactivating plugins using WPCode

现在,如果您从左侧菜单中选择插件,您会看到这些插件的“停用”链接已被删除。

如果您需要随时恢复“停用”链接,则可以禁用代码片段。 只需转到Code Snippets » Code Snippet ,然后单击您的代码片段旁边的开关,将其从蓝色(启用)变为灰色(禁用)。

How to disable a code snippet in WordPress

您现在可以通过前往“插件”菜单来停用这些插件。

您还可以使用 phpMyAdmin 或 FTP 客户端停用受保护的插件。 如果您想删除特定插件,但又不想完全禁用代码片段并让所有受保护的插件都容易受到攻击,这可能是一个很好的解决方案。

要了解更多信息,请参阅我们的指南,了解如何在无法访问 WP-Admin 时停用所有插件。

我们希望本文能帮助您了解如何防止客户停用 WordPress 插件。 您可能还想查看我们关于如何提高 WordPress 速度和性能或小型企业最佳电话服务的终极指南。

如果您喜欢这篇文章,请订阅我们的 YouTube 频道以获取 WordPress 视频教程。 您还可以在 Twitter 和 Facebook 上找到我们。