bbp_forum_recursive_group_id( $forum_id )

Get Sub Forum’s group id, if not associated with any group then it searches for the parent forums to fetch group associated otherwise returns false

Description

Parameters

$forum_id

(Required)

Return

(bool|int|mixed)

Source

File: bp-forums/functions.php

817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
function bbp_forum_recursive_group_id( $forum_id ) {
 
    if ( empty( $forum_id ) ) {
        return false;
    }
 
    // initialize a few things.
    $group_id          = 0;
    $found_group_forum = false;
    $reached_the_top   = false;
 
    // This loop works our way up to the top of the topic->sub-forum->parent-forum hierarchy..
    // We will stop climbing when we find a forum_id that is also the id of a group's forum..
    // When we find that, we've found the group, and we can stop looking..
    // Or if we get to the top of the hierarchy, we'll bail out of the loop, never having found a forum.
    // that is associated with a group..
    while ( ! $found_group_forum && ! $reached_the_top ) {
        $forum_group_ids = bbp_get_forum_group_ids( $forum_id );
        if ( ! empty( $forum_group_ids ) ) {
            // We've found the forum_id that corresponds to the group's forum.
            $found_group_forum = true;
            $group_id          = $forum_group_ids[0];
        } else {
            $current_post = get_post( $forum_id );
            if ( $current_post->post_parent ) {
                // $post->post_parent will be the ID of the parent, not an object.
                $forum_id = $current_post->post_parent;
            } else {
                // We've reached the top of the hierarchy.
                $reached_the_top = true;
            }
        }
    }
 
    if ( $group_id ) {
        return $group_id;
    }
 
    return false;
}

Changelog

Changelog
Version Description
BuddyBoss 1.1.9 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.