注册wordpress时为用户分配用户角色

时间:2018-05-16 23:49:24

标签: wordpress plugins

我正在使用'Woo Discount Rules Pro'插件为不同的用户类别提供折扣。

在用户注册页面中,我已包含一个输入字段以获取用户的类别。

enter image description here

虽然类别在用户个人资料中保存,但用户的角色保存为“客户”,因为我将默认角色设为“客户”。

enter image description here

我需要实现的是在用户注册时保存用户在“用户角色”下选择的用户的相关类别(即学校,大学,办公室)。

我试着查看一些在用户注册时执行此操作的插件。

我找到了一个名为Registration Magic的插件,可以解决我的问题。但不幸的是,它不是免费的,必须付费才能解锁这个特定的功能。

有关如何使用或不使用插件完成此操作的任何建议?谢谢!

2 个答案:

答案 0 :(得分:0)

Ultimate Member插件通过此挂钩为新用户分配默认角色:

add_action('um_after_new_user_register', 'um_after_new_user_register', 10, 2);

并重写新用户的角色:

...

$ultimatemember->user->set_role( $role );

... 您可以添加具有较低优先级的自己的例程,例如

add_action('um_after_new_user_register', 'custom_after_new_user_register', 20, 1);
function custom_after_new_user_register($user_id) {
  $user = get_user_by('id', $user_id);
  if (!in_array('subscriber', $user->roles)) {
    $user->add_role('subscriber');
  }
}

WordPress将在UM和新用户将收到其他角色后执行它。

我没有测试过这段代码,从头开始编写,只是为了给你一个想法。

答案 1 :(得分:0)

有一个名为Wp Role at Registration的插件,它解决了这个问题。最重要的是它是一个免费的插件。

相关问题