如果我们使用前台自定义的登录页面,一般都不希望用户登录失败(账号密码错误)后跳转到WP后台默认的登录表单,那就需要做一个重定向,让用户登录失败后重定向到我们自定义的页面。
将下面的代码添加到主题的 functions.php 即可:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
/** * 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; } } |