2023/7/2626 次阅读0 条评论

Wordpress 用户后台显示注册时间和登录IP,以及上次登录时间

Terminal
/** 用户后台显示注册时间和登录IP */function get_client_ip() {    if (getenv(\"HTTP_CLIENT_IP\") && strcasecmp(getenv(\"HTTP_CLIENT_IP\"), \"unknown\"))        $ip = getenv(\"HTTP_CLIENT_IP\");    else if (getenv(\"HTTP_X_FORWARDED_FOR\") && strcasecmp(getenv(\"HTTP_X_FORWARDED_FOR\"),\"unknown\"))        $ip = getenv(\"HTTP_X_FORWARDED_FOR\");    else if (getenv(\"REMOTE_ADDR\") && strcasecmp(getenv(\"REMOTE_ADDR\"), \"unknown\"))        $ip = getenv(\"REMOTE_ADDR\");    else if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR']&& strcasecmp($_SERVER['REMOTE_ADDR'], \"unknown\"))        $ip = $_SERVER['REMOTE_ADDR'];    else        $ip = \"unknown\";    return ($ip);}// 创建一个新字段存储用户注册时的IP地址add_action('user_register', 'log_ip');function log_ip($user_id){    $ip = get_client_ip();    update_user_meta($user_id, 'signup_ip', $ip);}// 创建新字段存储用户登录时间和登录IPadd_action( 'wp_login', 'insert_last_login' );function insert_last_login( $login ) {    global $user_id;    $user = get_userdatabylogin( $login );    update_user_meta( $user->ID, 'last_login', current_time( 'mysql' ) );    $last_login_ip = get_client_ip();    update_user_meta( $user->ID, 'last_login_ip', $last_login_ip);}// 添加额外的栏目add_filter('manage_users_columns', 'add_user_additional_column');function add_user_additional_column($columns) {    $columns['reg_time'] = '注册时间';    $columns['signup_ip'] = '注册IP';    $columns['last_login'] = '上次登录';    // 打算将注册IP和注册时间、登录IP和登录时间合并显示,所以我注销下面两行    /*$columns['signup_ip'] = '注册IP';*/    $columns['last_login_ip'] = '登录IP';    unset($columns['name']);//移除“姓名”这一栏,如果你需要保留,删除这行即可    return $columns;}//显示栏目的内容add_action('manage_users_custom_column',  'show_user_additional_column_content', 10, 3);function show_user_additional_column_content($value, $column_name, $user_id) {    $user = get_userdata( $user_id );    // 输出注册时间和注册IP    if('reg_time' == $column_name ){        return get_date_from_gmt($user->user_registered) ;    }// 输出注册时间和注册IP    if('signup' == $column_name ){        return get_user_meta( $user->ID, 'signup_ip', true);    }    // 输出最近登录时间和登录IP    if ( 'last_login' == $column_name && $user->last_login ){        return get_user_meta( $user->ID, 'last_login', true );    }
分享文章:
最后更新于: 2026/6/7
上一篇
个人使用的神级WordPress开发的Cursor规则Rules模板
下一篇
已经是最后的一篇文章了