Php Wordpress在未登录时重定向用户
我在functions.php中使用以下代码重定向未登录的用户,如果您在wp-login.php中,则不包括在内Php Wordpress在未登录时重定向用户,php,wordpress,e-commerce,Php,Wordpress,E Commerce,我在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/
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“
?您可以尝试使用WordPressis\u页面('login')
或者is\u页面('account/login')
条件 这个怎么样
//
// 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;
}
打开Functions.php
粘贴:
// Redirect users who arent logged in...
function login_redirect() {
// Current Page
global $pagenow;
// Check to see if user in not logged in and not on the login page
if(!is_user_logged_in() && $pagenow != 'wp-login.php')
// If user is, Redirect to Login form.
auth_redirect();
}
// add the block of code above to the WordPress template
add_action( 'wp', 'login_redirect' );
希望这有帮助:)
.lor1{显示:无;}
.lor1.kun{display:block;}
.lor1.user_not_login{display:block;}
将此代码添加到header.php如果未登录,您的购物车插件是否会将每个路径重定向到mysite.com/account/login?否,您仍然可以浏览该网站。但是,如果您尝试访问标准的wp-login.php,它将重定向到amysite.com/account/login,这是一个自定义的登录页面。这在我的设置中似乎不起作用。只有当用户试图访问主页时,是否有办法重定向用户?我试过使用is_front_page(),但是没有用。如果(!is_user_logged_in()&&is_front_page()){wp_redirect(“”)},看起来你的重定向url后面有一个分号。试着把它去掉。此外,您可能需要考虑将此挂钩到<代码> PrimeGETPixs< /Cuff>过滤器中,以保存一些数据库查询。请注意注释您的代码吗?添加一些关于你做了什么以及为什么做的解释,这会给你的答案增加价值,而不是“这个怎么样”和简单的代码。curPageURL检查您所在的页面。如果它与wp登录匹配,则允许它在不重定向的情况下正常加载。对于仍在学习的人来说,这并不明显——因为stackoverflow应该增强自学习功能。解释和教授提供的解决方案的工作原理和方式总是很好的。
<?php
if (!is_user_logged_in()) {
?>
<style>
.lor1{ display:none;}
.lor1.kun{ display: block;}
.lor1.user_not_login{ display: block;}
</style>
<?php } ?>