如果仅填写一个字段,则操作wp_LOGIN_FAILED不起作用

时间:2011-09-17 作者:hellojst

我在前端创建了一个登录表单wp_login_form().在我的functions.php 文件我添加了一个操作以防止重定向到/wp-login.php 如果登录失败

添加操作(\'wp\\U login\\u failed\'…。

事实证明,只有当usernamepassword 填写字段。如果其中一个是空的,我仍然会被重定向到wp-login.php.

是否可以检查两个字段是否都已填写以防止重定向?

谢谢

朱利安

2 个回复
SO网友:Jake

添加此筛选器以更改空白用户名/密码的处理方式:

add_filter( \'authenticate\', \'custom_authenticate_username_password\', 30, 3);
function custom_authenticate_username_password( $user, $username, $password )
{
    if ( is_a($user, \'WP_User\') ) { return $user; }

    if ( empty($username) || empty($password) )
    {
        $error = new WP_Error();
        $user  = new WP_Error(\'authentication_failed\', __(\'<strong>ERROR</strong>: Invalid username or incorrect password.\'));

        return $error;
    }
}
然后,您在wp\\u login\\u失败时的原始重定向也将使用空用户名/密码。

SO网友:user18485

问题在于函数wp_authenticate() (在文件中找到pluggable.php)

您有两种选择。

破解wordpress核心(不建议!)wp_authenticate() (这只是删除if语句中的几个字符)

结束

相关推荐

add a class when login

我将此代码添加到index.php.<div class=\"Div1\"></div>. 然后在Div1. 所以当我登录wordpress时。管理员导航将向站点正文下推一些空格。因此,事件显示不正常。现在,我想添加一个class 到<div class=\"Div1\"> 登录时。有没有办法做到这一点。