add_filter 无法处理 Wordpress 自定义登录页面
add_filter not working on Wordpress custom login page
我正在 wordpress 中创建自定义登录页面。到目前为止一切都很好,但我想在我的页面中添加错误处理。
在默认情况下-filters.php,我添加了这个:
add_filter('authenticate', 'wp_return_login_error', 40, 3);
在users.php中,我添加了这个:
function wp_return_login_error(){
if (is_wp_error($user)) {
$error = $user->get_error_message();
wp_redirect( get_permalink() . "/login/?login=failed&reason=" . $error);
exit;
}
}
无论如何,当您输入 invalid/blank 凭据时,用户只会被重定向到登录屏幕,而不会出现任何错误提示。我尝试在我的函数中添加调试消息,但看起来它没有被调用。
我应该尝试什么?
在此先感谢您的帮助。
最简单的解决方法是在 functions.php 文件中使用以下代码更改错误消息:
function login_error_override()
{
return 'Incorrect login details.';
}
add_filter('login_errors', 'login_error_override');
我正在 wordpress 中创建自定义登录页面。到目前为止一切都很好,但我想在我的页面中添加错误处理。
在默认情况下-filters.php,我添加了这个:
add_filter('authenticate', 'wp_return_login_error', 40, 3);
在users.php中,我添加了这个:
function wp_return_login_error(){
if (is_wp_error($user)) {
$error = $user->get_error_message();
wp_redirect( get_permalink() . "/login/?login=failed&reason=" . $error);
exit;
}
}
无论如何,当您输入 invalid/blank 凭据时,用户只会被重定向到登录屏幕,而不会出现任何错误提示。我尝试在我的函数中添加调试消息,但看起来它没有被调用。
我应该尝试什么?
在此先感谢您的帮助。
最简单的解决方法是在 functions.php 文件中使用以下代码更改错误消息:
function login_error_override()
{
return 'Incorrect login details.';
}
add_filter('login_errors', 'login_error_override');