有趣的查看bp\\u group\\u has\\u成员,它允许使用group\\u id参数只传递单个组,而我的第一个想法是它将能够传递组数组。使用您的方法,您需要多次运行循环才能获得所需的结果。我建议您首先按照上面的操作获取登录用户的组id:
$user_id = bp_loggedin_user_id();
$groups = BP_Groups_Member::get_group_ids( $user_id );
$groups = $groups[\'groups\'];
或者使用我认为更快的直接SQL语句:
$groups = $wpdb->get_col($wpdb->prepare("SELECT group_id FROM {$wpdb->prefix}bp_groups_members WHERE user_id = %d",$user_id),0);
然后使用直接SQL语句获取属于每个组的所有使用:
global $wpdb;
$allUsers = $wpdb->get_col($wpdb->prepare("SELECT DISTINCT user_id FROM {$wpdb->prefix}bp_groups_members WHERE group_id IN (".implode(\', \', array_fill(0, count($groups), \'%s\')).")",$groups),0);
并使用常规的bp\\u has\\u members()循环显示结果,同时包含我们从上面的SQL语句中获得的用户id数组:
<?php if ( bp_has_members( array( \'include\' => $allUsers ) ) ) : ?>
<?php while ( bp_members() ) : bp_the_member(); ?>
<li>
user info....
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
你可以看看
here 查看bp\\u has\\u memebrs循环并获取显示所需信息所需的所有函数。