Tagged: privacy
WP version 4.3
Multisite Installation
Category Style
Buddypress installed on Main site
Version 2.3.3
BP Magic Theme Version 1.0.6Hello, I was wondering if there is any suggestion on how to make a buddypress site private. I am creating a high school community and would like to have all the pages, posts, etc. private except for the Home page, Login, Register, Lost Password.
I’ve tried a couple of plugins but non seem to work with the BP Magic Theme.
Any suggestions would be greatly appreicated.
Jay
Hi Jay,
Thank you for asking.
Just asking, are you comfortable with code? It can be done with a few lines of code, It has nothing to do with BP Magic theme but BuddyPress pages are not the actual pages(It resets data early), so most plugin fail at detecting that.If you are comfortable wit code, I will post a snippet quickly.
Thank you
BrajeshHi Brajesh,
yeah I am ok with code. Not a master though.
Thanks
Hi Jay,
Thank you. I will post the code in an hour.Great, thanks for the help. Looking forward to the code.
Jay
Hi Jay,
Thank you.
Please find the code below.you can put the code in your bp-custom.php or your theme’s functions.php (I will prefer bp-custom.php )
/** * Make a site Private, works with/Withouthg BuddyPress * * @author sbrajesh * @global string $pagenow * */ function buddydev_private_site() { //first exclude the wp-login.php //register //activate global $pagenow; //do not restrict logged in users if( is_user_logged_in() ) { return ; } //if we are here, the user is not logged in, so let us check for exclusion //we selectively exclude pages from the list //are we on login page? if( $pagenow == 'wp-login.php' ) { return ; } $exclude_pages = array( 'register', 'activate', 'alphabeta' );//add the slugs here //is it one of the excluded pages, if yes, we just return and don't care if( is_page( $exclude_pages ) ) { return ; } $redirect_url = wp_login_url( site_url('/') );//get login url, wp_safe_redirect( $redirect_url ); exit( 0 ); } add_action( 'template_redirect', 'buddydev_private_site', 0 );
You can exclude any page by using the slug, It will work irrespective of the fact that BuddyPress may or may not be active.
Please do check and let me know if that worked for you or not?
Hi Brajesh,
everything works great. Just one question…how do I add the Home Page to the exclude list? I can exclude all the other pages I need with the slug, but I’m not having any luck with the Home Page.
Jay
Hi Jay,
I am sorry, I overlooked the homepage exclusion. I have updated the code below. Please update and check if this works./** * Make a site Private, works with/Withouthg BuddyPress * * @author sbrajesh * @global string $pagenow * */ function buddydev_private_site() { //first exclude the wp-login.php //register //activate global $pagenow; //do not restrict logged in users if( is_user_logged_in() ) { return ; } //if we are here, the user is not logged in, so let us check for exclusion //we selectively exclude pages from the list //are we on login page? if( $pagenow == 'wp-login.php' ) { return ; } //let us exclude the home page if( is_front_page() ) { return ; } $exclude_pages = array( 'register', 'activate', 'alphabeta', 'groups', 'members' );//add the slugs here //is it one of the excluded pages, if yes, we just return and don't care if( is_page( $exclude_pages ) ) { return ; } $redirect_url = wp_login_url( site_url('/') );//get login url, wp_safe_redirect( $redirect_url ); exit( 0 ); } add_action( 'template_redirect', 'buddydev_private_site', 0 );
Thank you
Brajesh
The topic ‘ [Resolved] Make Buddypress Community Private’ is closed to new replies.