Wordpress用户角色-重力表单用户注册-有条件添加角色
我的wordpress站点有两种类型的用户。当他们注册时,他们会指定他们的用户类型,我想根据他们是哪种用户类型从两个角色中分配一个 “我的用户注册”页面有一个单选按钮,新用户可以在其中选择是否在这两种注册类型之间进行选择。为了便于讨论,我们将注册类型称为“Cat”和“Dog” 我在重力表单中添加了一个猫/狗单选按钮,用户可以选择“狗”-单选按钮默认为“猫”。此字段为“RegisterAs” 重力表单用户注册允许我为新用户设置角色。我为所有新注册选择“狗” 用于收集新用户数据的重力表单具有将其重定向到猫或狗页面的确认: cat或dog页面有一个分配给它的模板——让我们调用“cat或dog.php”。这包含以下代码:Wordpress用户角色-重力表单用户注册-有条件添加角色,wordpress,Wordpress,我的wordpress站点有两种类型的用户。当他们注册时,他们会指定他们的用户类型,我想根据他们是哪种用户类型从两个角色中分配一个 “我的用户注册”页面有一个单选按钮,新用户可以在其中选择是否在这两种注册类型之间进行选择。为了便于讨论,我们将注册类型称为“Cat”和“Dog” 我在重力表单中添加了一个猫/狗单选按钮,用户可以选择“狗”-单选按钮默认为“猫”。此字段为“RegisterAs” 重力表单用户注册允许我为新用户设置角色。我为所有新注册选择“狗” 用于收集新用户数据的重力表单具有将其重定
<?php
/* Template Name: Cat or Dog */
if (isset($_GET['RegAs'])) {
if ($_GET['RegAs']=='Dog') {
global $current_user;
var_dump($current_user->roles);
$current_user->add_role('Dog');
echo "After:";
var_dump($current_user->roles);
die();
function change_cat_dog_role( $user_id, $user_config, $entry, $user_pass ) {
$question1 = rgar( $entry, '8' ); //field id 8
if ( $question1 == 'Dog' ) {
//update role
$user_obj = new WP_User( $user_id );
$user_obj->add_role( 'dog' );
}
}
add_action( 'gform_user_registered', 'change_cat_dog_role', 11, 4 );
重力表单代码提供了gform_user_注册钩子来实现这一点 在我的theme functions.php文件的最顶端,我包含了以下代码:
<?php
/* Template Name: Cat or Dog */
if (isset($_GET['RegAs'])) {
if ($_GET['RegAs']=='Dog') {
global $current_user;
var_dump($current_user->roles);
$current_user->add_role('Dog');
echo "After:";
var_dump($current_user->roles);
die();
function change_cat_dog_role( $user_id, $user_config, $entry, $user_pass ) {
$question1 = rgar( $entry, '8' ); //field id 8
if ( $question1 == 'Dog' ) {
//update role
$user_obj = new WP_User( $user_id );
$user_obj->add_role( 'dog' );
}
}
add_action( 'gform_user_registered', 'change_cat_dog_role', 11, 4 );
请注意,添加角色“dog”是小写,即使该角色实际上是正确的大小写“dog”