在手动 "activated" 之前阻止新的 WordPress 用户登录?
Prevent new WordPress users from logging in until manually "activated"?
我正在为 WordPress 开发一个插件,它有 3 个用户组。我需要禁用一些用户并阻止他们登录。我的意思不是阻止他们访问后端。我想阻止他们登录。例如,当他们想要登录时,他们应该会看到一条消息,例如此帐户尚未激活。
谢谢大家。
经过一些搜索并看到类似的问题后,我这样解决了这个问题:
首先为用户状态添加一个用户元数据,这样我们就可以检查用户是否处于活动状态,然后我们可以禁用或启用用户。
add_filter( 'authenticate', 'chk_active_user',100,2);
function chk_active_user ($user,$username)
{
$user_data = $user->data;
$user_id = $user_data->ID;
$user_sts = get_user_meta($user_id,"user_active_status",true);
if ($user_sts==="no")
{
return new WP_Error( 'disabled_account','this account is disabled');
}
else
{
return $user;
}
return $user;
}
我正在为 WordPress 开发一个插件,它有 3 个用户组。我需要禁用一些用户并阻止他们登录。我的意思不是阻止他们访问后端。我想阻止他们登录。例如,当他们想要登录时,他们应该会看到一条消息,例如此帐户尚未激活。 谢谢大家。
经过一些搜索并看到类似的问题后,我这样解决了这个问题: 首先为用户状态添加一个用户元数据,这样我们就可以检查用户是否处于活动状态,然后我们可以禁用或启用用户。
add_filter( 'authenticate', 'chk_active_user',100,2);
function chk_active_user ($user,$username)
{
$user_data = $user->data;
$user_id = $user_data->ID;
$user_sts = get_user_meta($user_id,"user_active_status",true);
if ($user_sts==="no")
{
return new WP_Error( 'disabled_account','this account is disabled');
}
else
{
return $user;
}
return $user;
}