我在列表中测试了我在多站点网络上使用的插件的私有Beta。

插件作者在其中具有添加自定义角色的代码。他们有一个错误,该错误消除了赋予用户除其一个自定义角色以外的任何角色的能力。

当我访问../wp-admin/network/site-users.php时,“添加用户”角色下拉列表仅显示此插件添加的一个角色。更改角色下拉菜单显示所有WP默认角色,以及此角色和其他插件添加的一些其他角色。如果我尝试将用户更改为这些角色之一,则会出现“您不能为用户提供该角色”错误页面。

我一直在与开发人员进行讨论,他们似乎感到困惑。

我一直在浏览数据库和抄本,但找不到有效角色的定义位置。

#1 楼

用户角色存储在wp_options表中。

wp_user_roles表中搜索选项名称wp_options

评论


请注意,option_name可能包含您的数据库前缀而不是wp_。我的数据库就是这种情况。

– Eric K
1月7日23:02

#2 楼

用户角色存储在表wp_user_meta

要检查用户角色,首先,在表wp_users中检查用户ID(列名ID)

现在转到表wp_usermeta,然后搜索其中user_id列等于与ID表中的wp_users匹配的ID。

您将获得包含所选用户元数据的行的列表,其中meta_keywp_capabilities的行定义了用户角色。

wp_capabilities
的价值

管理员:a:1:{s:13:"administrator";b:1;}

Woo Commerce客户:a:1:{s:8:"customer";b:1;}



评论


您的答案与将角色分配给用户有关。 OP正在询问角色定义本身,这些角色定义存储在wp_options中。

–布雷特·唐纳德(Brett Donald)
19-10-1的3:06