Перенаправление, если вы не вошли в систему?
Я пробовал это, чтобы перенаправлять людей, которые не вошли в систему, на определенную страницу. В конечном счете, не должно иметь значения, какую переднюю страницу они посещают, но следует перенаправлять на любую страницу, выбранную в качестве целевой страницы (я предполагаю, что это будет URL-адрес в wp_redirect). Мне все еще нужен доступ к wp-логину и панели мониторинга и т. Д....
Я поместил следующий код в свой functions.php, но не сработало.
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' );
Спасибо за любую помощь!
2
1 answers
Функция is_login_page()
взята из здесь
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' );
8
Author: sakibmoon, 2017-04-13 12:37:39