我在functions.php中使用以下代码来重定向未登录的用户,如果您不在wp-login.php中,则将其重定向。
if(!is_user_logged_in() && $pagenow != 'wp-login.php') {
wp_redirect( 'http://signup.mysite.com', 302 );
}
但是,我安装了使用不同登录页面的购物车插件,并且基本上将mysite.com/wp-login.php重定向到mysite.com/account/login。
是否可以使用某些代码来排除重定向的url路径,也许可以替换
$pagenow != 'wp-login.php'
吗? 最佳答案
这个怎么样..
//
// Re-direct not-logged-in users to holding page
//
if(!is_user_logged_in() && curPageURL() != 'http://mysite.com/wp-login.php') {
wp_redirect( 'http://signup.mysite.com', 302 );
exit;
}
//
// Get current page URL
//
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}