如果我們使用前臺自定義的登錄頁面,一般都不希望用戶登錄失敗(賬號密碼錯誤)后跳轉到WP后臺默認的登錄表單,那就需要做一個重定向,讓用戶登錄失敗后重定向到我們自定義的頁面。
將下面的代碼添加到主題的 functions.php 即可:
/**
* WordPress 用戶登錄失敗重定向到自定義頁面
* http://www.ydqwiac.cn/redirect-wordpress-failed-logins.html
*/
add_action('wp_login_failed', 'my_front_end_login_fail');
function my_front_end_login_fail($username){
// 獲取提交數據的來源頁面
$referrer = $_SERVER['HTTP_REFERER'];
// 如果是一個有效的來源,并且不是默認登錄頁面或后臺管理頁面
if(!empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin')){
// 追加一些信息(login=failed)到鏈接中,讓主題使用
wp_redirect($referrer . '?login=failed');
exit;
}
}
假設你的自定義登錄頁面地址為 http://你的域名/login,上面的第 8 行就會獲取到這個頁面鏈接,然后登錄失敗后,按照第 12 行的設置,就會返回 http://你的域名/login?login=failed 這個鏈接。你可以通過修改12行 wp_redirect() 這個函數的參數跳轉到任何你想要的地址。
聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發(fā)布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯(lián)系我們進行處理。





倡萌 ,請教一下,我的WordPress 主題自帶 網站登錄錯誤郵件警告功能。這幾天開始,每天有登錄錯誤信息郵件提示,固定每小時2次,IP地址每次都不一樣,密碼各種嘗試,沒玩沒了,應該是機器人。我增加了登錄界面算術驗證碼 ,無效。我又加密了wp-login.php登錄頁面,還是無效。這種情況怎么解? 現(xiàn)在 每天收到錯誤登錄提示24次,已經連續(xù)3天了。
沒遇到過這種情況,不是很清楚如何操作。如果網站很少登錄,你可以重命名wp-login.php文件,看下是否還有相關的登錄郵件,如果沒有了,那就先這樣應對一下。當然了,修改了這個文件名,你也是無法登錄的,要登錄的時候,臨時改回去。然后就是等待一段時間了,一般攻擊不會持續(xù)很長時間
感謝倡萌,你的方法,效果 立竿見影,重命名wp-login.php文件,立馬就好了。此方法雖然麻煩一點,但很管用。
很高興能幫到你 ^_^
沒用誒。照著做還是跳到wo-login.php
給力!感謝倡萌!昨天才說了這個問題,今天就有解決辦法!