2014-01-09 79 views
1

我想檢查用戶狀態並相應地更新其bbPress論壇角色。 (不是WordPress的角色)WordPress的 - 從外部更改論壇角色bbPress通過檢查用戶狀態

目的是增加BP-Registration-Options插件的功能,以調節用戶註冊(在BuddyPress中,目前該插件在用戶未被批准時將用戶狀態設置爲69,訪問BuddyPress功能,但用戶仍然可以登錄

登錄時,bbPress根據您在後臺的設置自動設置用戶論壇角色,在這種情況下,它被設置爲'spectator '。當用戶通過管理員批准他們的狀態變化,我希望它也將bbPress角色更新爲'參與者'。

這是我第一次嘗試:

function bp_registration_options_additional() { 
    if (is_user_logged_in()) { 
    $user_ID = get_current_user_id(); 
    $user = get_userdata($user_ID); 
     if (69 !== $user->user_status) { 

     // Here is where I need help. 

    //How to set the bbPress forum role to 'Participant'? 

    } 
    } 
} 
add_action('wp_loaded', 'bp_registration_options_additional'); 

謝謝!

WP:3.8 的bbPress:版本2.5.2

編輯:附加信息的位。論壇角色的meta_key是:wp_capabilities。具有論壇角色'旁觀者'的用戶的meta_value;是:a:2:{s:10:"subscriber";b:1;s:13:"bbp_spectator";b:1;}

回答

2

有同樣的要求 - 更新wp_capabilities字段 -

$wp_user_capabilities_arr = array( "subscriber" => true, "bbp_participant" => true ); update_user_meta($wp_user_id, "wp_capabilities", $wp_user_capabilities_arr);

和更新後的數據看起來像:

一個:2:{S:10:「訂戶「; b:1; s:15:」bbp_participant「; b:1;}