bbp_privatize_forum( int $forum_id, $current_visibility = '' )
Mark the forum as private
Description
Parameters
- $forum_id
-
(Optional) Forum id
Return
(bool) False on failure, true on success
Source
File: bp-forums/forums/functions.php
856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 | function bbp_privatize_forum( $forum_id = 0, $current_visibility = '' ) { $forum_id = bbp_get_forum_id( $forum_id ); do_action( 'bbp_privatize_forum' , $forum_id ); // Only run queries if visibility is changing if ( bbp_get_private_status_id() !== $current_visibility ) { // Get hidden forums $hidden = bbp_get_hidden_forum_ids(); // Find this forum in the array if ( in_array( $forum_id , $hidden ) ) { $offset = array_search ( $forum_id , $hidden ); // Splice around it array_splice ( $hidden , $offset , 1 ); // Update hidden forums minus this one update_option( '_bbp_hidden_forums' , array_unique ( array_filter ( array_values ( $hidden ) ) ) ); } // Add to '_bbp_private_forums' site option $private = bbp_get_private_forum_ids(); $private [] = $forum_id ; update_option( '_bbp_private_forums' , array_unique ( array_filter ( array_values ( $private ) ) ) ); // Update forums visibility setting global $wpdb ; $wpdb ->update( $wpdb ->posts, array ( 'post_status' => bbp_get_private_status_id() ), array ( 'ID' => $forum_id ) ); wp_transition_post_status( bbp_get_private_status_id(), $current_visibility , get_post( $forum_id ) ); bbp_clean_post_cache( $forum_id ); } do_action( 'bbp_privatized_forum' , $forum_id ); return $forum_id ; } |
Changelog
Version | Description |
---|---|
bbPress (r2746) | 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.