Wordpress其他登录规则

时间:2015-01-22 07:47:10

标签: wordpress validation login

我制作了一个插件,要求用户验证他们的电子邮件地址。它为用户创建带有随机字符串的“activation_key”元键,并在用户验证后将其设置为“'。到现在为止还挺好。但现在我需要挂钩登录并检查activation_key ==''。

这是我认为应该的,但它没有到达这里。

add_filter( 'authenticate', 'check_if_activated', 10, 3 );
function check_if_activated($user, $username, $password)
{
    // check if user has activated their email

    return $user;
}

1 个答案:

答案 0 :(得分:0)

Wordpress已经为authenticate添加了过滤器,因此您必须注册较低的。

add_filter( 'authenticate', 'check_if_activated', 50);
function check_if_activated($user)
{
    // If we have an error, no need to check the activation key
    // (Wrong credentials, for instance)
    if (is_wp_error($user))
    {
        return $user;
    }
    // Checks the meta and returns an error if needed
    $validation_key = get_user_meta($user->ID, 'activation_key', true);
    return empty($validation_key) ? $user : new WP_Error('your_plugin_error_code', 'your error message');
}