如何从注册表中为WordPress中的新用户分配自定义角色

如何从注册表中为WordPress中的新用户分配自定义角色,wordpress,themes,Wordpress,Themes,我想根据注册表在WordPress中分配一个自定义用户角色。例如,我在登记表上有“老师”和“学生”。我必须设置两个复选框,这样,如果用户选择“学生”,他们将自动被分配到学生的角色,而不是默认的角色 如何才能做到这一点?您可以为用户注册时添加一个操作挂钩,并在那里添加角色 add_action( 'user_register', 'myplugin_registration_save', 10, 1 ); function myplugin_registration_save( $user_id

我想根据注册表在WordPress中分配一个自定义用户角色。例如,我在登记表上有“老师”和“学生”。我必须设置两个复选框,这样,如果用户选择“学生”,他们将自动被分配到学生的角色,而不是默认的角色


如何才能做到这一点?

您可以为用户注册时添加一个操作挂钩,并在那里添加角色

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

function myplugin_registration_save( $user_id ) {
    $user = new WP_User( $user_id );

    $user->remove_role( 'subscriber' ); // Optional, you don't have to remove this role if you want to keep subscriber as well
    $user->add_role( 'student' );
}

您可以为用户注册时添加一个操作挂钩,并在那里添加角色

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

function myplugin_registration_save( $user_id ) {
    $user = new WP_User( $user_id );

    $user->remove_role( 'subscriber' ); // Optional, you don't have to remove this role if you want to keep subscriber as well
    $user->add_role( 'student' );
}

谢谢@Austin!但是,您使用的参数“myplugin\u registration\u save”可以替换为处理注册的插件的名称,也可以是任何其他名称,请问我可以将这些代码放在哪里?在functions.php中?谢谢
myplugin.
只是一个前缀,可以替换为任何你想要的东西(你的插件或主题前缀)。这段代码可以放在
functions.php
或任何其他include文件中。但不要将其放在模板文件中,因为加载可能太晚。非常感谢!我的注册表格被另一个插件使用,其中只有3个字段,即Firstname、Lastname、email仅用于注册,其他字段在同一表格上用于输入其他客户的详细信息。我想我可以在注册插件Hanks@Austin中使用它!但是,您使用的参数“myplugin\u registration\u save”可以替换为处理注册的插件的名称,也可以是任何其他名称,请问我可以将这些代码放在哪里?在functions.php中?谢谢
myplugin.
只是一个前缀,可以替换为任何你想要的东西(你的插件或主题前缀)。这段代码可以放在
functions.php
或任何其他include文件中。但不要将其放在模板文件中,因为加载可能太晚。非常感谢!我的注册表格被另一个插件使用,其中只有3个字段,即Firstname、Lastname、email仅用于注册,其他字段在同一表格上用于输入其他客户的详细信息。我想我可以在注册插件中使用它