[英]what is the meaning of 1 in user status field of wp_users in wordpress CMS?
我们正在使用 wordpress 进行您的网站开发。 当 user_status=2 时用户处于活动状态,而当 user_status=0 时用户处于非活动状态。 那么user_status=1是什么意思。
请提供您宝贵的建议。
https://wordpress.org/support/topic/what-is-the-status-of-user_status
user_status 字段实际上是数据库中的死记录。 这种情况已经有一段时间了。
您当然可以将它用于自己的目的,但由于它是一种已弃用或未使用的元素,因此它总是有可能从 WordPress 的未来版本中删除。 或者甚至被放回去工作。
不幸的是,WordPress 不提供原生的在线/离线用户状态方法。 你必须自己实现它。 一些如何正确实施的想法,可以在该主题中找到: https : //wordpress.stackexchange.com/q/34429/44533
另一种选择是使用一些 3rd-party 插件(我不能建议任何......)。
在我自己的解决方案中,我在wp_usermeta表中创建user_login
自定义文件,以检查用户状态。
//Creating hooks for login/logout actions:
add_action('clear_auth_cookie', array('WP_Plugin_Template','set_user_logged_out'), 10);
add_action('wp_login', array('WP_Plugin_Template','set_user_logged_in'), 10, 2);
//When hook is triggered, I'm using user_meta to update user status:
function set_user_logged_in($user_login, $user) {
if(get_user_meta($user->ID, "logged_in", true) !== "true")
if(!update_user_meta($user->ID, 'logged_in', 'true'))
wp_die("Failed to add usermeta ", "Fatal");
}
function set_user_logged_out() {
$user = wp_get_current_user();
if(get_user_meta($user->ID, "logged_in", true) !== "false")
if(!update_user_meta($user->ID, 'logged_in', 'false'))
wp_die("Failed to add usermeta ", "Fatal");
}
希望能帮助到你。
从其他线程我看到 user_status 实际上是一个“死”字段。 它保留在 wp_user 表中,但 WP 本身不再用于任何事情。 可能解释了为什么 wp_update_user 不碰它。
global $wpdb;
$wpdb->query('UPDATE wp_users SET user_status = 1 WHERE ID = '.$current_user->ID);
我可能会迟到,但 user_status 并没有像听起来那样死掉,它主要用于网络/多站点以将用户标记为垃圾邮件 ;-)
您可能应该使用add_user_meta
( WP Codex ) 并向您的用户表添加一个新字段。
对我来说似乎是最干净的方式,如果将来某个时候user_status
从数据库中删除,您不会感到惊讶。
user_status 听起来并没有死,它主要用于网络/多站点以将用户标记为垃圾邮件或火腿。
该字段主要用于多站点
https://developer.wordpress.org/reference/functions/update_user_status/
以下是每个 user_status 的含义:
user_status = 0 => false或正常状态
user_status = 1 => 用户标记为垃圾邮件发送者
user_status = 2 => 用户待处理(用户帐户尚未激活)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.