I know this is a question asked million times but I can't find an answer that is either fitting the version of Wordpress now and/or my particular case.
I have a Wordpress website with Buddypress installed on it.
I want that : - Not logged in users can see only the page wp-login.php - Logged in users can access the whole website
I just can't figure it out, it is impossible. Either I change the site address or assign a page, or fuctions... Nothing works, all the time an error or a 404 page error etc...
Basically : you arrive on the website, you are not logged in = Wp-Login.php, if you are logged in page "members"
Thank you !
There are a lot of different ways to do this based on what your ultimate goal is (use WP login page, a custom login page, etc...). You can try adding this to your theme's functions.php file:
if ( ( is_single() || is_front_page() || is_page() || is_archive() || is_tax() )
&& ! is_page( 'login' ) && ! is_page('register') && ! is_user_logged_in() ) {
auth_redirect();
}
Or you can use the plugin, Force Login
UPDATE
Theoretically, you can probably just use this, just haven't tested...
if( ! is_page('login') && ! is_page('register') && ! is_user_logged_in() ) {
auth_redirect();
}