我无法通过wp-admin访问我的站点管理仪表板

时间:2019-05-08 06:11:26

标签: email-verification wordpress-login wordpress-admin

您知道所有这些网站如何向新用户发送链接以供他们验证其电子邮件地址吗?我正在通过电子邮件地址设置用户验证过程,我会将电子邮件验证链接发送到用户电子邮件,点击链接的用户将被验证。

但是问题是我在用户登录时设置了usermeta字段,该功能将检查用户是否通过了验证,如果通过验证,它将被登录,否则在我登录到管理员时显示错误,它将无法访问我的管理控制台。

add_filter('wp_authenticate_user', 'check_user_activation_status', 10, 2);
function check_user_activation_status($user) {
    if( ! $user->has_cap('administrator') ) {
        if ( get_user_meta($user->ID ,'wp_user_level',true) != 10 ) {
            if( get_user_meta($user->ID, 'activated', true) == 'true' ) {
                return $user;
             }
        } else {
            return $user;
        } 
    }

    return new WP_Error('Account Not Active...');
}

,它也不会显示错误文本 login page look like after login failed

抱歉英语不好...

1 个答案:

答案 0 :(得分:0)

此钩子传递两个参数$ user和$ password(明文)。为了在登录时产生错误,您将需要返回一个新的WP_Error()对象。

https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_authenticate_user