我已经制作了一个插件,当有人注册时,它会将它们放入数据库,管理员必须确认它们。当确认他们正在为他们创建用户帐户时,wordpress会向他们发送电子邮件,以便他们可以更改密码。
但是当管理员决定他不再希望他们登录时,他点击一个按钮,用户角色设置为空。在我的主题的functions.php文件中写了一个代码,当用户角色什么都没有时,他就无法登录。
但是当我复制此插件时,没有角色的用户可以登录,但由于他们没有正确的权限而无法看到任何内容。
现在我的问题:
有没有办法在我的插件文件中创建一个functions.php,以便用户无法登录(使用我编写的代码)没有任何角色。
这是我的主题functions.php中的代码:
function customLogIn($user) {
if($user instanceof WP_User) {
$userHasRole = array_filter($user->roles);
if (empty($userHasRole)) {
return new WP_Error('user_has_no_role', __('Dit account is gedeactiveerd.'));
}
}
return $user;
}
add_filter( 'authenticate', 'customLogIn', 20, 5);