我的WordPress的网站有两种类型的用户。当他们注册时,他们提名他们的用户类型,并且我想要分配两个角色中的一个角色,具体取决于他们是哪一种用户类型。WordPress的用户角色 - 重力形式用户注册 - 有条件地add_role
我的用户注册页面有一个单选按钮,新用户在这里选择他们是否在两种注册类型之间。为了讨论的目的,让我们调用注册类型'猫'和'狗'。
我已经添加了一个猫/狗单选按钮到重力形式,用户可以选择'狗' - 单选按钮默认为'猫'。这个字段是'RegisterAs'。
重力形式用户注册允许我为新用户设置角色。我选择了“狗”为所有新注册
用于收集新用户数据重力形式所具有的确认重定向到一个猫或狗页:
的猫或狗页面有一个分配给它的模板 - 我们称之为'cat-or-dog.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();
我希望输出显示从狗到猫的角色变化。相反,从这里输出如下:
array(1){[0] => string(6)“cat”} after:array(1){[0] => string(6) “cat”}
所以看来,add_role什么都不做!
任何人都可以更正我的代码吗?或者,在用户注册过程中,还有另一种方式可以在单选按钮上分配角色。
我想使用重力形式与用户注册插件,因为这是用于整个网站,我不是一个插件收集器。
请注意,我还没有删除'猫'角色 - 我首先想要克服这个add_role问题。然后我会努力消除这个角色。