用户未处于活动状态时的wordpress自定义登录验证

时间:2015-07-08 08:19:33

标签: php wordpress

我有自定义登录,想要检查用户是否已经激活。

我还有我的自定义注册,它会发送激活密钥,当点击激活密钥时,它会自动更改用户元值。那已经没事了。我的问题是当用户登录时即使它尚未激活也可以登录。似乎我的验证代码不起作用,我遇到了麻烦。这是我的代码

add_action( 'authenticate', 'check_username_password', 1, 3);
function check_username_password( $login, $username, $password ) {
$referrer = $_SERVER['HTTP_REFERER'];
$user = $username->ID;
$status = get_user_meta($user, 'ja_disable_user', true);

if( !empty( $referrer ) && !strstr( $referrer,'wp-login' ) && !strstr( $referrer,'wp-admin' ) ) { 
if( $username == "" || $password == "" ){
        if ( !strstr($referrer, '?login=empty' )) {
            wp_redirect( home_url('/login/?login=empty') );
            }
            else {
                wp_redirect( $referrer );
            }
    exit;
    }
if($status == 2){ //when meta value is 2 user account is pending
if ( !strstr($referrer, '?login=not_activated' )) {
            //wp_redirect( $referrer . '?login=empty');
            wp_redirect( home_url('/login/?login=not_activated') );
            }
            else {
                wp_redirect( $referrer );
            }
    exit;

    }   
  }
 }

0 个答案:

没有答案