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