在wp_database中的哪些位置定义了可用角色?

时间:2013-01-12 作者:cpilko

我上榜是为了测试我在多站点网络上使用的插件的私有beta版。

插件作者在其中有添加自定义角色的代码。他们有一个bug,它删除了为用户提供除一个自定义角色之外的任何角色的功能。

当我访问时../wp-admin/network/site-users.php, “添加用户”角色下拉列表仅显示此插件添加的一个角色。change role下拉菜单显示所有WP默认角色,以及此插件和其他插件添加的一些额外角色。如果我试图将一个用户更改为这些角色之一,我会得到一个“你不能给用户这个角色”错误页面。

我一直在与开发人员讨论这个问题,他们似乎很困惑。

我一直在查看我的数据库和法典,但我找不到有效的角色是在哪里定义的。

2 个回复
最合适的回答,由SO网友:PrivateUser 整理而成

用户角色存储在wp_options 桌子

搜索选项名称wp_user_roleswp_options 桌子

SO网友:Ashutosh Kumar

用户角色存储在表中wp_user_meta

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

现在去桌边wp_usermeta 并搜索where列user_id 等于匹配的IDID 从…起wp_users 桌子

您将获得一个包含所选用户元数据的行列表meta_keywp_capabilities 定义用户角色。

的价值wp_capabilities 对于

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

结束

相关推荐

Multisite Login Issues

我正在尝试正确设置Wordpress Multisite,我已经设置了所有站点,但只能访问主域的wp admin。我已经看到了各种修复方法,但它们只会导致更大的问题。我尝试将以下内容添加到wp config。php,根据几篇博客文章的说明,这是一个修复:define(\'ADMIN_COOKIE_PATH\', \'/\'); define(\'COOKIE_DOMAIN\', \'\'); define(\'COOKIEPATH\', \'\'); define(\'SITECO