wp_数据库在哪里定义了可用的角色?


10

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

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

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

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

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

Answers:


27

用户角色存储在wp_options表中。

wp_user_roleswp_options表中搜索选项名称 。


12

用户角色存储在表中 wp_user_meta

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

现在转到表wp_usermeta和搜索,其中列user_id等于ID匹配IDwp_users表。

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

的价值wp_capabilities

  • 管理员: a:1:{s:13:"administrator";b:1;}
  • Woo Commerce客户: a:1:{s:8:"customer";b:1;}

您的答案与将角色分配给用户有关。OP正在询问角色定义本身,这些角色定义存储在wp_options中。
布雷特·唐纳德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.