我尝试过将未登录的用户重定向到特定页面。最终,他们访问的前端页面应该无关紧要,但应该重定向到选择作为登录页面的任何页面(我假设这是wp\\U重定向中的URL)。我仍然需要访问wp登录和仪表板等。。。
我在函数中放置了以下代码。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\' );
谢谢你的帮助!
最合适的回答,由SO网友:sakibmoon 整理而成
这个is_login_page()
函数取自here
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\' );