This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
BBP_Forums_Group_Extension::maybe_map_permalink_to_group( int $post_id, $url = false )
Maybe map a Forums forum/topic/reply permalink to the corresponding group
Description
Parameters
- $post_id
-
(Required)
Return
(Bail) early if not a group forum post
Source
File: bp-forums/groups.php
private function maybe_map_permalink_to_group( $post_id = 0, $url = false ) { switch ( get_post_type( $post_id ) ) { // Reply case bbp_get_reply_post_type() : $topic_id = bbp_get_reply_topic_id( $post_id ); $forum_id = bbp_get_reply_forum_id( $post_id ); $url_end = trailingslashit( $this->reply_slug ) . get_post_field( 'post_name', $post_id ); break; // Topic case bbp_get_topic_post_type() : $topic_id = $post_id; $forum_id = bbp_get_topic_forum_id( $post_id ); $url_end = trailingslashit( $this->topic_slug ) . get_post_field( 'post_name', $post_id ); break; // Forum case bbp_get_forum_post_type() : $forum_id = $post_id; $url_end = ''; //get_post_field( 'post_name', $post_id ); break; // Unknown default : return $url; break; } // Get group ID's for this forum $group_ids = bbp_get_forum_group_ids( $forum_id ); // Bail if the post isn't associated with a group if ( empty( $group_ids ) ) return $url; // @todo Multiple group forums/forum groups $group_id = $group_ids[0]; $group = groups_get_group( array( 'group_id' => $group_id ) ); if ( bp_is_group_admin_screen( $this->slug ) ) { $group_permalink = trailingslashit( bp_get_group_admin_permalink( $group ) ); } else { $group_permalink = trailingslashit( bp_get_group_permalink( $group ) ); } return trailingslashit( trailingslashit( $group_permalink . $this->slug ) . $url_end ); }
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.