kis*_*ary 2 wordpress frontend login
你能否告诉我如何在登录时检查用户状态?
我添加了一个user_flag在wp_users表中命名的新字段来控制用户状态.user_flag具有active或的价值deactivate.
我想在用户登录时检查此字段的值.
active,则用户可以继续登录,deactivate,则用户无法登录,并且将显示一条消息以通知用户他的帐户已停用,并且他需要联系管理员以重新激活帐户以便他能够登录.我查看了wp-login.php文件,但不知道在哪里编写代码来检查上面的逻辑,请问您可以user_flag在登录时查看我在哪里检查?
非常感谢.
停止尝试修改核心代码并学习使用可插拔架构.还要停止修改核心数据库表.您可以在usermeta表中为用户存储其他字段,add_user_meta并使用它们进行检索get_user_meta.如果您开始修改核心代码和数据库表,您将永远无法升级wordpress.
要回答您的问题,请在functions.php中使用以下内容
add_filter('wp_authenticate_user', function($user) {
if (get_user_meta($user->ID, 'user_flag', true) == 'active') {
return $user;
}
return new WP_Error('Account Not Active...');
}, 10, 2);
Run Code Online (Sandbox Code Playgroud)
请参阅https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_authenticate_user
| 归档时间: |
|
| 查看次数: |
7572 次 |
| 最近记录: |