bbp_adjust_forum_role_labels( $author_role,  $args )

Change forum role labels to conform to BuddyBoss Platform naming conventions

Description

Source

File: bp-forums/replies/functions.php

2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
function bbp_adjust_forum_role_labels( $author_role, $args ) {
    $display_role = __( 'Member', 'buddyboss' );
    $reply_id     = bbp_get_reply_id( $args['reply_id'] );
    $author_id    = bbp_get_reply_author_id( $reply_id );
 
    // if group forum
    if ( bbp_is_forum_group_forum( bbp_get_reply_forum_id( $args['reply_id'] ) ) ) {
        $current_group = bp_get_current_group_id();
 
        if ( groups_is_user_member( $author_id, $current_group ) ) {
            $display_role = __( 'Member', 'buddyboss' );
        }
 
        if ( groups_is_user_mod( $author_id, $current_group ) ) {
            $display_role = __( 'Moderator', 'buddyboss' );
        }
 
        if ( groups_is_user_admin( $author_id, $current_group ) ) {
            $display_role = __( 'Organizer', 'buddyboss' );
        }
    } else {
        if ( ! $author_id ) {
            $display_role = __( 'Guest', 'buddyboss' );
        } else {
            $user_roles = array_values( get_userdata( $author_id )->roles );
 
            if ( array_intersect( $user_roles, [ bbp_get_keymaster_role(), 'administrator' ] ) ) {
                $display_role = __( 'Administrator', 'buddyboss' );
            }
 
            if ( array_intersect( $user_roles, [ bbp_get_moderator_role(), 'editor' ] ) ) {
                $display_role = __( 'Moderator', 'buddyboss' );
            }
        }
    }
 
    return sprintf(
        '%1$s<div class="%2$s">%3$s</div>%4$s',
        $args['before'],
        esc_attr( $args['class'] ),
        esc_html( $display_role ),
        $args['after']
    );
}

Changelog

Changelog
Version Description
BuddyBoss 1.0.0 Introduced.

Questions?

We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.