Wordpress bb如果观众角色-回显文本,则按

Wordpress bb如果观众角色-回显文本,则按,wordpress,bbpress,Wordpress,Bbpress,我正在将bbpress与Wordpress结合使用,并试图改变user profile.php内部wp content/plugins/bbpress/includes/users/的显示方式 如果用户扮演旁观者的角色,我想附和一条短信,说“你没有参与论坛的权限”,但我无法做到这一点。这就是我现在拥有的: <p class="bbp-user-forum-role"><?php printf( __( 'Forum Role: %s', 'bbpress' ),

我正在将bbpress与Wordpress结合使用,并试图改变
user profile.php
内部
wp content/plugins/bbpress/includes/users/
的显示方式

如果用户扮演旁观者的角色,我想附和一条短信,说“你没有参与论坛的权限”,但我无法做到这一点。这就是我现在拥有的:

 <p class="bbp-user-forum-role"><?php  printf( __( 'Forum Role: %s',      'bbpress' ), bbp_get_user_display_role()    ); ?></p>
    // My php code comes here:
 if( bbp_get_spectator_role() ) {
    echo "<p>You do not have permission to participate in the forum.</p>";
    }

//我的php代码如下: 如果(bbp_获取_观众_角色()){ echo“您没有参与论坛的权限。

”; }
上述方法不起作用。但是,有一个名为“bbp_is_user_keymaster()”的函数。如果有一个类似的但是
bbp\u is\u user\u cobservator()
,那就太好了,但我似乎找不到


有什么办法吗?

只要稍加编辑,您就可以使用以下代码:

编辑后的代码可能看起来像

    <?php
function check_user_role( $role, $user_id = null ) {
  if (isset($_REQUEST['user_id']))
    $user_id = $_REQUEST['user_id'];
// Checks if the value is a number
  if ( is_numeric( $user_id ) )
    $user = get_userdata( $user_id );
    else
    $user = wp_get_current_user();
  if ( empty( $user ) )
    return false;
  return in_array( $role, (array) $user->roles );
}

function one_random_test() {
if ( check_user_role ('spectator') ) {
    echo 'You are not allowed to edit anything.';
}
}
  add_action('bbp_template_before_user_profile', 'one_random_test');
?>

文本“您不允许编辑任何内容。”然后出现在用户配置文件页面的顶部。使用任何你喜欢的钩子,让它出现在其他地方