Skip to:
Content
Pages
Categories
Search
Top
Bottom

bbPress User Roles Not Working

  • @lolataylor1

    Participant

    WordPress 5.8
    bbPress 2.6.6
    BuddyPress 9.0.0
    Astra Theme 3.6.5

    Help! I have read every forum post about creating new custom roles in bbPress, but it still isn’t working for me. The created role names are displaying on my Users page in my Admin dashboard, but the roles themselves are not working as intended. When I assign a user a forum role, it is adding it under the “Roles” [i.e., Subscriber (WP Role), Founder (bbPress Role)] and not “Forum Roles.” I tested the different user role settings and they, too, are not working.

    Am I missing something or doing something wrong? I’m new to bbPress and very frustrated after spending hours trying to get this to work.

    This is the code I have create and placed in my Code Snippet plugin. The forum is being added to a paid members only website, so the URL would not be useful.


    function authorready_add_new_roles( $bbp_roles ) {
    $bbp_roles['bbp_probation'] = array(
    'name' => 'Probation',
    'capabilities' => custom_capabilities( 'bbp_probation' )
    );

    $bbp_roles['bbp_subscriber'] = array(
    'name' => 'Subscriber',
    'capabilities' => custom_capabilities( 'bbp_subscriber' )
    );

    $bbp_roles['bbp_founder'] = array(
    'name' => 'Founder',
    'capabilities' => custom_capabilities( 'bbp_founder' )
    );

    $bbp_roles['bbp_leader'] = array(
    'name' => 'Group Leader',
    'capabilities' => custom_capabilities( 'bbp_leader' )
    );

    $bbp_roles['bbp_moderator'] = array(
    'name' => 'Moderator',
    'capabilities' => custom_capabilities( 'bbp_moderator' )
    );

    $bbp_roles['bbp_administrator'] = array(
    'name' => 'Administrator',
    'capabilities' => custom_capabilities( 'bbp_administrator' )
    );

    return $bbp_roles;
    }

    add_filter( 'bbp_get_dynamic_roles', 'authorready_add_new_roles', 1 );

    function authorready_add_role_caps_filter( $caps, $role )
    {
    /* Only filter for roles we are interested in! */
    if( $role == 'bbp_probation' )
    $caps = custom_capabilities( $role );

    if( $role == 'bbp_subscriber' )
    $caps = custom_capabilities( $role );

    if( $role == 'bbp_founder' )
    $caps = custom_capabilities( $role );

    if( $role == 'bbp_leader' )
    $caps = custom_capabilities( $role );

    if( $role == 'bbp_moderator' )
    $caps = custom_capabilities( $role );

    if( $role == 'bbp_administrator' )
    $caps = custom_capabilities( $role );

    return $caps;
    }

    add_filter( 'bbp_get_caps_for_role', 'authorready_add_role_caps_filter', 10, 2 );

    function custom_capabilities( $role )
    {
    switch ( $role )
    {

    /* Capabilities for 'probation' role */
    case 'bbp_probation':
    return array(
    // Primary caps
    'spectate' => true,
    'participate' => false,
    'moderate' => false,
    'throttle' => false,
    'view_trash' => false,

    // Forum caps
    'publish_forums' => false,
    'edit_forums' => false,
    'edit_others_forums' => false,
    'delete_forums' => false,
    'delete_others_forums' => false,
    'read_private_forums' => false,
    'read_hidden_forums' => false,

    // Topic caps
    'publish_topics' => false,
    'edit_topics' => false,
    'edit_others_topics' => false,
    'delete_topics' => false,
    'delete_others_topics' => false,
    'read_private_topics' => false,

    // Reply caps
    'publish_replies' => false,
    'edit_replies' => false,
    'edit_others_replies' => false,
    'delete_replies' => false,
    'delete_others_replies' => false,
    'read_private_replies' => false,

    // Topic tag caps
    'manage_topic_tags' => false,
    'edit_topic_tags' => false,
    'delete_topic_tags' => false,
    'assign_topic_tags' => false,
    );

    /* Capabilities for 'subscriber' role */
    case 'bbp_subscriber':
    return array(
    // Primary caps
    'spectate' => true,
    'participate' => true,
    'moderate' => false,
    'throttle' => false,
    'view_trash' => false,

    // Forum caps
    'publish_forums' => false,
    'edit_forums' => false,
    'edit_others_forums' => false,
    'delete_forums' => false,
    'delete_others_forums' => false,
    'read_private_forums' => true,
    'read_hidden_forums' => false,

    // Topic caps
    'publish_topics' => false,
    'edit_topics' => false,
    'edit_others_topics' => false,
    'delete_topics' => false,
    'delete_others_topics' => false,
    'read_private_topics' => true,

    // Reply caps
    'publish_replies' => true,
    'edit_replies' => true,
    'edit_others_replies' => false,
    'delete_replies' => true,
    'delete_others_replies' => false,
    'read_private_replies' => true,

    // Topic tag caps
    'manage_topic_tags' => false,
    'edit_topic_tags' => false,
    'delete_topic_tags' => false,
    'assign_topic_tags' => false,
    );

    /* Capabilities for 'founder' role */
    case 'bbp_founder':
    return array(
    // Primary caps
    'spectate' => true,
    'participate' => true,
    'moderate' => false,
    'throttle' => false,
    'view_trash' => false,

    // Forum caps
    'publish_forums' => false,
    'edit_forums' => false,
    'edit_others_forums' => false,
    'delete_forums' => false,
    'delete_others_forums' => false,
    'read_private_forums' => true,
    'read_hidden_forums' => false,

    // Topic caps
    'publish_topics' => false,
    'edit_topics' => false,
    'edit_others_topics' => false,
    'delete_topics' => false,
    'delete_others_topics' => false,
    'read_private_topics' => true,

    // Reply caps
    'publish_replies' => true,
    'edit_replies' => true,
    'edit_others_replies' => false,
    'delete_replies' => true,
    'delete_others_replies' => false,
    'read_private_replies' => true,

    // Topic tag caps
    'manage_topic_tags' => false,
    'edit_topic_tags' => false,
    'delete_topic_tags' => false,
    'assign_topic_tags' => false,
    );

    /* Capabilities for 'group leader' role */
    case 'bbp_leader':
    return array(
    // Primary caps
    'spectate' => true,
    'participate' => true,
    'moderate' => true,
    'throttle' => false,
    'view_trash' => false,

    // Forum caps
    'publish_forums' => false,
    'edit_forums' => false,
    'edit_others_forums' => false,
    'delete_forums' => false,
    'delete_others_forums' => false,
    'read_private_forums' => true,
    'read_hidden_forums' => false,

    // Topic caps
    'publish_topics' => false,
    'edit_topics' => false,
    'edit_others_topics' => false,
    'delete_topics' => false,
    'delete_others_topics' => false,
    'read_private_topics' => true,

    // Reply caps
    'publish_replies' => true,
    'edit_replies' => true,
    'edit_others_replies' => true,
    'delete_replies' => true,
    'delete_others_replies' => true,
    'read_private_replies' => true,

    // Topic tag caps
    'manage_topic_tags' => false,
    'edit_topic_tags' => false,
    'delete_topic_tags' => false,
    'assign_topic_tags' => true,
    );

    /* Capabilities for 'moderator' role */
    case 'bbp_moderator':
    return array(
    // Primary caps
    'spectate' => true,
    'participate' => true,
    'moderate' => true,
    'throttle' => true,
    'view_trash' => true,

    // Forum caps
    'publish_forums' => false,
    'edit_forums' => false,
    'edit_others_forums' => false,
    'delete_forums' => false,
    'delete_others_forums' => false,
    'read_private_forums' => true,
    'read_hidden_forums' => false,

    // Topic caps
    'publish_topics' => true,
    'edit_topics' => true,
    'edit_others_topics' => false,
    'delete_topics' => false,
    'delete_others_topics' => false,
    'read_private_topics' => true,

    // Reply caps
    'publish_replies' => true,
    'edit_replies' => true,
    'edit_others_replies' => false,
    'delete_replies' => true,
    'delete_others_replies' => true,
    'read_private_replies' => true,

    // Topic tag caps
    'manage_topic_tags' => false,
    'edit_topic_tags' => true,
    'delete_topic_tags' => true,
    'assign_topic_tags' => true,
    );

    /* Capabilities for 'administrator' role */
    case 'bbp_administrator':
    return array(
    // Primary caps
    'spectate' => true,
    'participate' => true,
    'moderate' => true,
    'throttle' => true,
    'view_trash' => true,

    // Forum caps
    'keep_gate' => true,
    'publish_forums' => true,
    'edit_forums' => true,
    'edit_others_forums' => true,
    'delete_forums' => true,
    'delete_others_forums' => true,
    'read_private_forums' => true,
    'read_hidden_forums' => true,

    // Topic caps
    'publish_topics' => true,
    'edit_topics' => true,
    'edit_others_topics' => true,
    'delete_topics' => true,
    'delete_others_topics' => true,
    'read_private_topics' => true,

    // Reply caps
    'publish_replies' => true,
    'edit_replies' => true,
    'edit_others_replies' => true,
    'delete_replies' => true,
    'delete_others_replies' => true,
    'read_private_replies' => true,

    // Topic tag caps
    'manage_topic_tags' => true,
    'edit_topic_tags' => true,
    'delete_topic_tags' => true,
    'assign_topic_tags' => true,
    );

    break;

    default :
    return $role;
    }
    }

Viewing 2 replies - 1 through 2 (of 2 total)
  • @robin-w

    Moderator

    it is a load order issue – I’m digging further, will come back when I have done so

    @robin-w

    Moderator

    ok, I’ve spent several hours trying to resolve this – I’m not a bbpress author, just a user

    so can you try the instructions here

    bbpress role adder

Viewing 2 replies - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.
Skip to toolbar