Wordpress - 通过检查用户状态从外部 bbPress 更改论坛角色

标签 wordpress status forum role bbpress

我想检查用户状态并相应更新他们的 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' );

谢谢!

WP:3.8 bbPress:版本2.5.2

编辑:一些附加信息。论坛角色的meta_key是:wp_capability。具有论坛角色“spectator”的用户的meta_value;是:a:2:{s:10:"订阅者";b:1;s:13:"bbp_spectator";b:1;}

最佳答案

有相同的要求 - 更新 wp_capability 字段 -

$wp_user_capability_arr = 数组( “订阅者”=> true, “bbp_participant”=> 真 ); update_user_meta($wp_user_id, "wp_capability", $wp_user_capability_arr);

更新后数据如下所示:

a:2:{s:10:"订阅者";b:1;s:15:"bbp_participant";b:1;}

关于Wordpress - 通过检查用户状态从外部 bbPress 更改论坛角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21012652/

相关文章:

css - Wordpress 主菜单第一项默认高亮显示

php - 让javascript函数基于PHP变量返回状态的好方法?

git:你怎么可能在 git-status 中使用 `R` 、 `C` 和 `U` 标志

php - 论坛中的递归引用

php - 无法根据 SQL 输出创建单独的论坛类别

javascript - 创建许多小的 html 表单

jquery - WooCommerce 中的下拉子类别

php - 通过php把图片变成背景图片

rest - 在未登录的情况下尝试注销后返回的 HTTP 状态

php - 如何加载测试 PHP Web 论坛软件?