0
我使用以下功能在失败的登录尝试后重定向用户。在functions.php中,我说:登录后重定向,Wordpress URL
add_action('wp_login_failed', 'inline_login_fail');
function inline_login_fail($username) {
$referrer = $_SERVER['HTTP_REFERER'];
if (!empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin')) {
if (!strstr($referrer,'?login=failed')) { // don’t append twice
wp_redirect($referrer . '?login=failed');
} else {
wp_redirect($referrer);
}
exit;
}
}
这工作,但问题是我无法弄清楚如何解析“登录失败的?”。当我问这是一个PHP问题时,他们说这个URL格式不正确。
我的URL:www.site.com/?page_id=57?login=failed
首选网址:www.site.com/?page_id=57 &登录=无法
现在你会觉得我可以改变'?'到'&'。当我这样做时,如果用户尝试从主页登录并失败,则会产生问题。它创建一个URL为404:“在此服务器上未找到请求的URL/wordpress/& login =失败。”
有什么方法可以纠正这个功能,所以它可以与首选的URL一起工作吗?这让我可以检索的登录是否已经失败,这样的价值:
<?php
if(isset($_GET['login']) === true and $_GET['login'] === 'failed')
{
get_template_part('login', 'failed');
} else {
get_template_part('login', 'form');
}
?>
否则,我无法弄清楚如何使用该网址在所有的工作。 谢谢!
啊,谢谢,那作品! :) – 2012-08-17 07:16:20
只是一个新的解决方案WordPress的'add_query_arg()'附加变量到任何网址,并照顾'?'或'&'在他们https://developer.wordpress.org/reference/functions/add_query_arg/ – 2015-04-21 08:24:17