我的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問題。然後我會努力消除這個角色。