如何根据自己在Wordpress中的角色自动将新用户设置为组

时间:2016-12-25 11:12:25

标签: wordpress

在我的wp网站上,我正在使用WP用户组插件(请参阅plugin page here),以便在用户管理页面中将它们分为三组:教师,学生和用户。该插件手动运行良好,但我希望它能自动运行。

当用户注册并且他被分配了教师角色时,他应该被自动添加到教师组。

任何代码创意?

1 个答案:

答案 0 :(得分:1)

  

WP用户组插件使用user-group taxonomy来保存该组。所以   您可以使用wp_set_object_terms将用户分配给组   USER_ID。

使用以下代码在注册后分配用户:

add_action( 'user_register', 'myAssignGroup', 10, 1 );

function myAssignGroup($user_id){
    $user = new WP_User($user_id);
    foreach ($user->roles as $role) {
        //for teacher
        if ($role == 'teacher') {
            wp_set_object_terms($user_id, 254, 'user-group', FALSE); //by tag_ID
            //wp_set_object_terms($user_id, my-first-group, 'user-group', FALSE); //by term slug
        }
        //for student
        else if($role == 'student'){
            wp_set_object_terms($user_id, 256, 'user-group', FALSE);
        }
    }
}

代码进入活动子主题(或主题)的function.php文件。或者也可以在任何插件php文件中。 代码经过测试且功能齐全。

要获取tag_ID或字词slug,请参阅附件中的图片。 enter image description here

希望这有帮助!