我想检查用户状态并相应地更新他们的bbPress论坛角色。(不是 Wordpress 角色。
目的是向BP-Registration-Options插件添加功能,以调节用户注册(在BuddyPress中。目前,该插件在用户未获批准时将用户状态设置为 69,并阻止访问 BuddyPress 功能。但是,用户仍然可以登录。
当他们登录时,bbPress 会根据您在后端的设置自动设置用户论坛角色。在本例中,它设置为"旁观者"。当用户被管理员批准时,他们的状态会发生变化,我希望它也将 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' );
谢谢!
可湿性粉剂:3.8bbPress: 版本 2.5.2
编辑:一些额外的信息。论坛角色的meta_key为:wp_capabilities。具有论坛角色"旁观者"的用户meta_value;是:a:2:{s:10:"subscriber";b:1;s:13:"bbp_spectator";b:1;}
有相同的要求 - 更新wp_capabilities字段 -
$wp_user_capabilities_arr = array(
"subscriber" => true,
"bbp_participant" => true
);
update_user_meta($wp_user_id, "wp_capabilities", $wp_user_capabilities_arr);
更新后,数据如下所示:
a:2:{s:10:"subscriber";b:1;s:15:"bbp_participant";b:1;}