BP_核心用户::获取用户额外信息(大堆$paged_用户,一串$user\u id,字符串| bool$type=错误的)

获取额外的用户信息,例如好友数和上次配置文件更新消息。

描述

接受多个用户ID以获取数据。

参数

$paged_用户

(大堆)(必选)包含用户的stdClass数组。

$user\u id

(一串)(必选)要选择有关的信息的用户ID。

$type

(一串|布尔)(可选)我们希望获得的字段类型。

默认值:false

回来

(混合)错误时为False,否则为结果的关联数组。

来源

文件:bp core/classes/class-bp-core-user.php

公共静态函数get_user_extras(&$paged_users,&$user_id,$type=false){global$wpdb;$bp=buddypress();if(empty($user_id))返回$paged_users;//清理用户id。$user_id=introde(',,wp_parse_id_list($user_id));//获取用户的全名。if(bp_处于活动状态('xprofile')&‘字母’!=$type){$names=$wpdb->get_results($wpdb->prepare(“从{$bp->profile->table_name_fields}pf中选择pd.user_id作为id,pd.value作为全名,{$bp->profile->table_name_data}pd,其中pf.id=pd.field_id和pf.name=%s和pd.user_id在({$user_id})中),bp_xprofile_全名_字段____name());对于($i=0,$count=count=count($paged)用户)$i<$count;++$i){foreach((数组)$names as$name){if($name->id==$paged_用户[$i]->id)$paged_用户[$i]->fullname=$name->fullname;}}}//获取用户的好友总数。if('popular'!=$type){$friend_计数=$wpdb->获取结果($wpdb->prepare('SELECT user_id作为id,meta value作为好友总数){$wpdb->usermeta}其中meta_key=%s和user_id IN({$user_id})”,bp_get_user_meta_key('total_friend_count');for($i=0,$count=count($paged_users);$i<$count;++$i){foreach((数组)$friend_计为$fcount{if($fcount id=$paged_users[$i]->id=$paged_users[$i]>total_count$fcount->total\u friend\u count;}}}}//获取用户是否是朋友。如果(bp\u处于活动状态('friends'){$friend\u status=$wpdb->get\u results($wpdb->prepare(“选择发起方用户标识,朋友用户标识,从{$bp->friends table\u name}确认),其中({$user\u id}中的发起方用户标识=%d和朋友用户标识))或(发起者用户id在({$user\u id})和朋友用户id=%d)”,bp_loggedin用户id(),bp_loggedin用户id());对于($i=0,$count=count($paged\u用户);$i<$count;+$i){foreach((数组)$friend\u状态为$status){如果($status->发起者用户id->id==$paged\u用户[$i]>id=$paged\u用户[$i]>id;$status朋友id=$paged\u[$i]>$paged_users[$i]->is_friend=$status->is_confirm;}}}}//获取用户的最后一个_活动。如果('active'!=$type){$user_活动=$wpdb->get_结果($wpdb->prepare(“从{$wpdb->usermeta中选择user_id作为id,meta value作为最后一个_活动),其中meta key=%s和user_id在({$user_id})中,bp_获取用户的meta u键('last_活动));对于($i=0,$count=count($paged_users);$i<$count;++$i){foreach((数组)$user_activity as$activity){if($activity->id==$paged_users[$i]->id)$paged_users[$i]->last_activity=$activity->last_activity;}}}获取用户的最新更新。$user_update=$wpdb=$wpdb->获取结果($wpdb->prepare(“从{$wpdb->usermeta}中选择user_id作为id,meta_值作为最新更新,其中meta_key=%s和user_id在({$user_id})中,bp_get_user_meta_key('bp_latest_update');对于($i=0,$count=count($paged_users);$i<$count;+$i){foreach((数组)$user_update as$update){if($update->id=$paged_users[$i]>id[$paged]->latest_update=$update->latest_update;}}返回$paged_users;}

问题?

我们随时乐意为您提供代码或其他问题的帮助!搜索我们的开发者文档,联系支持,或与我们的销售团队.