BBP_Forums_Group_Extension::update_group_forum_visibility( BP_Groups_Group $group )
Set forums’ status to match the privacy status of the associated group
Description Description
Fired whenever a group is saved
Parameters Parameters
- $group
-
(Required) Group object.
Source Source
File: includes/extend/buddypress/groups.php
public static function update_group_forum_visibility( BP_Groups_Group $group ) {
// Get group forum IDs
$forum_ids = bbp_get_group_forum_ids( $group->id );
// Bail if no forum IDs available
if ( empty( $forum_ids ) ) {
return;
}
// Loop through forum IDs
foreach ( $forum_ids as $forum_id ) {
// Get forum from ID
$forum = bbp_get_forum( $forum_id );
// Check for change
if ( $group->status !== $forum->post_status ) {
switch ( $group->status ) {
// Changed to hidden
case 'hidden' :
bbp_hide_forum( $forum_id, $forum->post_status );
break;
// Changed to private
case 'private' :
bbp_privatize_forum( $forum_id, $forum->post_status );
break;
// Changed to public
case 'public' :
default :
bbp_publicize_forum( $forum_id, $forum->post_status );
break;
}
}
}
}