我正在尝试创建一个插件,管理员(自定义用户角色,而不是常规管理员)可以访问选项页面,在文本框中输入特定用户名,点击提交,然后向该用户添加第二个用户角色. 我知道这段代码:
$user = new WP_User( null, 'username' );
$user->add_role( 'admin' );
将“admin”角色添加到用户名为“username”的人。所以在我的插件设置页面中,我有一个文本框:
Add an Admin: <input type="text" size="57" name="sscaur_options[txt_admin]" value="<?php echo $options['txt_admin']; ?>" />
然后在最后:
function sscaur_add_admin($textbox) {
$options = get_option('sscaur_options');
$textbox = $options['txt_admin'];
$user = new WP_User( null, '{$textbox}' );
$user->add_role( 'admin' );
return $textbox;
}
我知道这是完全错误的,但不知道如何开始使它正确。
我知道添加第二个用户角色可以使用用户角色编辑器插件完成,但这是硬编码的,只授予实际管理员访问权限,我需要我的自定义用户角色才能为特定用户添加角色,而无需成为完全管理员。