Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
注册wordpress时为用户分配用户角色_Wordpress_Plugins - Fatal编程技术网

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

注册wordpress时为用户分配用户角色,wordpress,plugins,Wordpress,Plugins,我正在使用“Woo折扣规则专业版”插件为不同的用户类别提供折扣 在用户注册页面中,我包含了一个输入字段来获取用户的类别 虽然类别保存在用户配置文件中,但用户的角色保存为“客户”,因为我将默认角色设置为“客户” 我需要实现的是在用户注册时,将用户选择的相关类别(即学校、大学、办公室)保存在“用户角色”下 我试图研究一些在用户注册时执行此操作的插件 我找到了一个名为的插件,可以解决我的问题。但不幸的是,它不是免费的,必须付费才能解锁此特定功能 有没有关于如何使用或不使用插件来完成此操作的建议?谢

我正在使用“Woo折扣规则专业版”插件为不同的用户类别提供折扣

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

虽然类别保存在用户配置文件中,但用户的角色保存为“客户”,因为我将默认角色设置为“客户”

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

我试图研究一些在用户注册时执行此操作的插件

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


有没有关于如何使用或不使用插件来完成此操作的建议?谢谢大家!

Ultimate Member plugin通过此钩子将默认角色分配给新用户:

add_action('um_after_new_user_register', 'um_after_new_user_register', 10, 2);
并重写新用户的角色:

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

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之后执行它,新用户将收到附加角色

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

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

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');
  }
}