wordpress CMS中wp_users的用户状态字段中1的含义是什么?

时间:2015-05-11 05:39:32

标签: wordpress

我们正在使用wordpress进行网站开发。用户在user_status = 2时处于活动状态,如果user_status = 0,则用户处于非活动状态。那么user_status = 1是什么意思。

请提供宝贵的建议。

6 个答案:

答案 0 :(得分:9)

https://wordpress.org/support/topic/what-is-the-status-of-user_status

  

user_status字段实际上是数据库中的 dead 记录。   这已经有一段时间了。

     

你当然可以将它用于你自己的目的,但实际上是这样   一种已弃用或不可用的元素,它始终是可能的   从WordPress的未来版本中删除。甚至可以放回去   工作

不幸的是,WordPress不提供本机在线/离线用户状态方法。你必须自己实现它。 在该主题中可以找到一些如何正确实现它的想法: https://wordpress.stackexchange.com/q/34429/44533

另一个选择是使用一些第三方插件(我不能建议任何......)。

在我自己的解决方案中,我正在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");
}

希望它有所帮助。

答案 1 :(得分:4)

从其他线程我看到user_status实际上是一个“死”字段。它保留在wp_user表中,但WP本身不再使用它。可能解释了为什么wp_update_user没有触及它。

global $wpdb;
$wpdb->query('UPDATE wp_users SET user_status = 1 WHERE ID = '.$current_user->ID);

更多 http://codex.wordpress.org/Class_Reference/wpdb

答案 2 :(得分:3)

我可能会在这里迟到但是user_status并没有因为听起来而死,它在网络/多站点使用mosty将用户标记为垃圾邮件; - )

答案 3 :(得分:1)

您应该使用add_user_metaWP Codex)并在您的用户表格中添加新字段。

对我来说似乎是最干净的方式,如果user_status将来某个时候从数据库中删除,你就不会感到惊讶。

答案 4 :(得分:0)

  

user_status听起来并不死,它主要用于   网络/多站点将用户标记为垃圾邮件或火腿。

     

此字段主要用于多站点

https://developer.wordpress.org/reference/functions/update_user_status/

答案 5 :(得分:0)

每个user_status的含义如下:

user_status = 0 => 错误或正常状态

user_status = 1 =>用户被标记为垃圾邮件发送者

user_status = 2 =>用户待处理用户帐户尚未激活