访问WordPress MultiSite中每个角色的插件

时间:2019-02-08 作者:Miss Tahereh HZ

我创建了一个多站点网站。网站上创建了几个使用aam插件的角色:SpecialprofessionalAnd。。。我希望在该网站上注册的用户创建一个网站,并将我允许他们适应其角色的插件分配给他们。换言之,对于具有特殊角色的用户的角色,在创建网站时,Woocomece插件会自动启用,但对于注册了专业角色的用户,该插件不会处于活动状态。请引导我。

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

不能为特定用户角色批量启用或禁用插件。插件的“活动性”不是由每个用户决定的。如果您试图实际停用特定用户角色的插件,那么任何时候登录该插件的具有该角色的用户都将停用访问您站点的每个用户的插件。用户已登录,不允许管理WooCommerce?现在,您的存储已关闭,直到有访问权限的用户登录。

因此,“激活”和“停用”用户角色的整个插件不是考虑这一点的方式。那是什么呢?

首先要注意的是WordPress如何授予用户执行某些任务的权限。在后台,每个用户角色都有一个“功能”列表。WordPress使用这些功能来确定用户是否有权做某些事情,并修改UI以反映用户的权限,并相应地实施安全策略。您可以看到核心WordPress角色的列表,以及他们拥有哪些功能here.

需要注意的第二件事是,插件通常不是通过二进制“是”或“否”来授予或限制对其全部功能的访问的独石。例如,WooCommerce具有添加产品、查看和管理订单以及配置插件设置等功能。与WordPress一样,不同的用户需要不同级别的访问WooCommerce的这些不同部分,因此WooCommerce添加了自己的roles and capabilities 可以用来授予对插件这些不同部分的访问权限。要授予用户访问WooCommerce不同部分的权限,您需要为其角色分配正确的功能。您可以使用代码或类似的插件来完成此操作User Role Editor.

然而,这只是WooCommerce<每个插件都会有所不同,并有自己的功能。没有适用于您可以遵循的每个插件的标准。有些插件会像WooCommerce那样,添加自己的功能,让您按照自己的意愿分配给它们,但其他插件可能会使用WordPress的核心功能来授予或限制访问权限。例如,大量(令人沮丧的)插件都是硬编码的,要求管理员角色访问其功能。在这些情况下,没有解决方法:您必须是管理员才能使用插件。

所以真的,you\'re going to need to go through every plugin one-by-one and check its documentation to find out how you can grant access to its functionality (或部分)发送给您的用户。答案每次都会不同。这里没有人能给你一个适用于每个插件的明确答案。

也就是说,有一些插件声称能够更简单地为您管理这一点,但要小心。通常,这些插件只是隐藏UI,并不能真正安全地删除对插件或其功能的访问。已确定的用户可能能够绕过此类型限制。

有时,这些插件可能能够正确地保护插件,但在那些情况下,它们很可能是专门为与该插件集成而构建的,并且它们不会对所有可用的插件进行集成。如果您使用其中一个插件,请确保对其进行彻底测试,以确保较低级别的用户确实无法访问他们不应该访问的内容。

这些插件的另一个考虑因素是,它们无法有选择地授予对硬编码为需要管理员访问的插件的访问权限。如果不让用户真正成为管理员,就不能仅仅隐藏他们不应该访问的其他内容。根据经验,我可以告诉你,许多插件在这方面都非常糟糕,无论你使用哪个插件,都无法在不让用户成为管理员的情况下授予他们访问权限。