Redirect, wenn nicht eingeloggt?

Ich habe versucht, Leute, die nicht auf einer bestimmten Seite eingeloggt sind, umzuleiten. Letztendlich sollte es egal sein, welche Front-End-Seite sie besuchen, aber sie sollten auf die Seite redirect, die als Zielseite ausgewählt wird (was ich als URL in wp_redirect annehmen würde). Ich brauche immer noch Zugriff auf wp-Login und Dashboard etc …

Ich habe den folgenden Code in meine functions.php gestellt, aber nicht funktioniert.

function my_redirect() { if ( $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == 'mybigfatsite.com/' ) { if ( ! is_user_logged_in() ) { wp_redirect( 'mybigfatsite.com/landing/' ); exit; } } } add_action( 'init', 'my_redirect' ); 

Danke für jede Hilfe!

Solutions Collecting From Web of "Redirect, wenn nicht eingeloggt?"

Die function is_login_page() wird von hier übernommen

 function is_login_page() { if ( $GLOBALS['pagenow'] === 'wp-login.php' && ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] === 'register' ) return true; return false; } function my_redirect() { //if you have the page id of landing. I would tell you to use if( is_page('page id here') instead //Don't redirect if user is logged in or user is trying to sign up or sign in if( !is_login_page() && !is_admin() && !is_user_logged_in()){ //$page_id is the page id of landing page if( !is_page($page_id) ){ wp_redirect( get_permalink($page_id) ); exit; } } } add_action( 'template_redirect', 'my_redirect' );