添加过滤器在Wordpress自定义登录页面上不起作用

添加过滤器在Wordpress自定义登录页面上不起作用,wordpress,filter,custom-wordpress-pages,Wordpress,Filter,Custom Wordpress Pages,我正在wordpress中创建一个自定义登录页面。到目前为止一切都很好,但我想在我的页面中添加错误处理 在default-filters.php中,我添加了以下内容: add_filter('authenticate', 'wp_return_login_error', 40, 3); function wp_return_login_error(){ if (is_wp_error($user)) { $error = $user->get_error_mes

我正在wordpress中创建一个自定义登录页面。到目前为止一切都很好,但我想在我的页面中添加错误处理

在default-filters.php中,我添加了以下内容:

add_filter('authenticate', 'wp_return_login_error', 40, 3);
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;
    }
}
在users.php中,我添加了以下内容:

add_filter('authenticate', 'wp_return_login_error', 40, 3);
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;
    }
}
不管怎样,当您输入无效/空白凭据时,用户只会被重定向到登录屏幕,而没有任何错误指示。我尝试在我的函数中添加调试消息,但它似乎没有被调用

我应该试试什么


提前感谢你的帮助

最简单的方法是在functions.php文件中使用以下代码更改错误消息:

function login_error_override()
{
    return 'Incorrect login details.';
}
add_filter('login_errors', 'login_error_override');