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');