如果我们使用前台自定义的登录页面,一般都不希望用户登录失败(账号密码错误)后跳转到WP后台默认的登录表单,那就需要做一个重定向,让用户登录失败后重定向到我们自定义的页面。
将下面的代码添加到主题的 functions.php 即可:
/**
* WordPress 用户登录失败重定向到自定义页面
* https://www.wpdaxue.com/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() 这个函数的参数跳转到任何你想要的地址。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
倡萌 ,请教一下,我的WordPress 主题自带 网站登录错误邮件警告功能。这几天开始,每天有登录错误信息邮件提示,固定每小时2次,IP地址每次都不一样,密码各种尝试,没玩没了,应该是机器人。我增加了登录界面算术验证码 ,无效。我又加密了wp-login.php登录页面,还是无效。这种情况怎么解? 现在 每天收到错误登录提示24次,已经连续3天了。
没遇到过这种情况,不是很清楚如何操作。如果网站很少登录,你可以重命名wp-login.php文件,看下是否还有相关的登录邮件,如果没有了,那就先这样应对一下。当然了,修改了这个文件名,你也是无法登录的,要登录的时候,临时改回去。然后就是等待一段时间了,一般攻击不会持续很长时间
感谢倡萌,你的方法,效果 立竿见影,重命名wp-login.php文件,立马就好了。此方法虽然麻烦一点,但很管用。
很高兴能帮到你 ^_^
没用诶。照着做还是跳到wo-login.php
给力!感谢倡萌!昨天才说了这个问题,今天就有解决办法!