php - 如何在注册时添加多个角色?
问题描述
我正在尝试在注册时向用户添加 2 个角色。角色 1- 2 个默认的已预设角色之一。角色 2- 在注册时为每个用户单独生成。
仅分配默认角色时 - 分配没有问题。当我添加动态生成的角色时,它仅分配此角色,缺少默认角色。
$user = wp_insert_user( $userdata );
$getuser = new WP_User($user);
$getuser->set_role('profile_1');
add_role(
'user-ID'.$user,
__( 'user-ID'.$user, 'wordpress-66604-809452.cloudwaysapps.com' ),
array(
'read' => true,
'edit_posts' => true,
));
$getuser->set_role('user-ID'.$user);
解决方案
从我正在阅读的内容中,set_role 删除了角色并仅分配新角色,看起来就像您所描述的那样
https://codex.wordpress.org/Class_Reference/WP_User#set_role.28.24role.29
设置角色
set_role($role) 设置用户的角色。
这将删除用户以前的角色并为用户分配新角色。您可以将角色设置为空字符串,它将删除用户的所有角色。
参数 role (string) - 角色名称。自 2.0.0 起不返回任何内容
添加角色
add_role( $role ) 为用户添加角色。
使用功能和角色更新用户的元数据选项。
参数 role (string) - 角色名称。
推荐阅读
- asp.net - 从浏览器选项卡下载的 Word 文件文件名不正确
- angularjs - 如何在 Angular 中完全替换应用程序组件 html
- ruby-on-rails - 在 Windows 机器中安装 rails:错误获取 http://rubygems.org
- intellij-idea -
在最终 jar 中覆盖的 plugin.xml 中 - javascript - 遍历子文件并获取Javascript中内容总和的结果
- python - 如何在 python 3.x httplib2 中设置代理?
- excel - 使用 Java API 将 excel 文件转换为 PDF
- node.js - 在 React 和 Node 中使用 Route Handler
- android - 实施 In-app bp 后,如何在应用中解锁付费风味
- c++ - 如何在 QT Creator 中手动运行 CMake 和运行