【问题标题】:How to change bb press forum roles programmatically?如何以编程方式更改 bb 新闻论坛角色?
【发布时间】:2015-09-08 18:26:21
【问题描述】:

我有两个用户角色

1)学生

2)付费学生

付款后我的情况是,我将角色学生更改为付费学生,效果很好,但在这里我也以编程方式将论坛角色更改为付费学生的参与者。我如何使用查询以编程方式更改论坛角色,功能任何东西。

下面的代码我曾经以编程方式更改用户角色,它运行良好,但我被困在更改论坛角色中。我正在寻找这样的东西。

$user_id = get_current_user_id();
                        $oldrole=implode(', ', $user_id->roles);
                        if($oldrole=="student")
                        {
                        $u = new WP_User($user_id);

                      // Remove role
                       $u->remove_role('student');
                             $newrole="paid_student";
                       // Add role
                        $u->add_role( $newrole );
                        } 

【问题讨论】:

    标签: bbpress


    【解决方案1】:

    我终于得到了答案。 下面是步骤。

    1) 获取用户当前用户id。

    <?php $user_id = get_current_user_id(); ?>
    

    2) 设置您希望更改的新用户论坛角色

    <?php $new_role_forum_role="bbp_participant"; ?>
    

    3)开火功能。

    <?php bbp_set_user_role( $user_id, $new_role_forum_role );?>
    

    现在在后端检查您的用户并查看论坛用户角色。

    完整的sn-p代码

    <?php
    $user_id = get_current_user_id();
                    $new_role_forum_role="bbp_participant";
                      bbp_set_user_role( $user_id, $new_role_forum_role );
                     ?>
    

    【讨论】:

    • 我希望做和你一样的事情,但我没有让这个工作。你会把它放在哪里让它工作?
    • @DavidAvellan 每个人在运行此代码时都有不同的情况,我已将此代码放在支付网关响应文件中,例如。如果学生角色希望在获得付费会员后成为付费会员,我想分配他/她的参与者角色,以便在付款状态标记为成功时将此代码放入响应文件中。如果这对您不起作用,可能是您没有获得用户 ID 或者您的代码没有运行,您可以使用 echo "whatever" 调试您的代码;并添加 exit();
    • @SanjayNakaye - 我试图挂接这个函数失败:function my_i4w_authenticated_remote_login($wp_user, $contact){ // $wp_user 是用户对象(与标准 $current_user 相同) // $ contact 是一个包含所有联系人记录字段的数组。 $your_code_goes_here = true; } add_action('i4w_authenticated_remote_login', 'my_i4w_authenticated_remote_login',10,2);但没有做任何我能看到的事情。
    • 你能运行这个函数pastebin.com/pep3hxZr 并上传我想要查看输出的屏幕截图并发送链接。
    • 显示一个空白页,编号为 6,对应于登录成员的用户 ID。当我在仪表板上查找用户时,他们没有分配任何角色。但是,在底部它具有“附加功能”作为 bbp_spectator:imgur.com/awMcO90
    猜你喜欢
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    相关资源
    最近更新 更多