wordpress更改用户原始角色

时间:2016-09-10 17:37:25

标签: php wordpress

如何更改用户的原始角色而非功能?

我有这个,但错了。以下代码仅更改功能而非更改原始角色。我需要添加一个代码,以便它从当前角色更改为另一个,从订阅者到禁止用户或订阅者再到编辑器。

$u = new WP_User( $user_id );

// Remove role
$u->remove_role( 'Subscriber' );

// Add role
$u->add_role( 'banned' );

点击下面的图片链接查看快照
Screenshot 1
Screenshot 2

此代码添加了对功能的更改,并且不会改变原始角色,我希望将原始角色从一个更改为另一个更改它。

2 个答案:

答案 0 :(得分:0)

请注意,有一种更简单的方法可以更改用户角色,这在您不知道用户当前角色时尤其有用: - > set_role()

示例:

// Fetch the WP_User object of our user.
$u = new WP_User( 3 );

// Replace the current role with 'editor' role
$u->set_role( 'editor' );

注意:请记住,set_role将删除用户以前的角色并分配新角色。

答案 1 :(得分:0)

尝试set_role,它会删除之前的角色,并将新角色分配给用户

// Get user id.
$u = new WP_User( 1 );

// Replace role to banned
$u->set_role( 'banned' );