This method has been deprecated.
BP_Groups_Member::get_all_for_group( int $group_id, bool|int $limit = false, bool|int $page = false, bool $exclude_admins_mods = true, bool $exclude_banned = true, bool|array $exclude = false )
Get members of a group.
Description
Parameters
- $group_id
-
(Required) ID of the group being queried for.
- $limit
-
(Optional) Max amount to return.
Default value: false
- $page
-
(Optional) Pagination value.
Default value: false
- $exclude_admins_mods
-
(Optional) Whether or not to exclude admins and moderators.
Default value: true
- $exclude_banned
-
(Optional) Whether or not to exclude banned members.
Default value: true
- $exclude
-
(Optional) Array of user IDs to exclude.
Default value: false
Return
(false|array)
Source
File: bp-groups/classes/class-bp-groups-member.php
public static function get_all_for_group( $group_id, $limit = false, $page = false, $exclude_admins_mods = true, $exclude_banned = true, $exclude = false ) {
global $wpdb;
_deprecated_function( __METHOD__, '1.8', 'BP_Group_Member_Query' );
$pag_sql = '';
if ( !empty( $limit ) && !empty( $page ) )
$pag_sql = $wpdb->prepare( "LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
$exclude_admins_sql = '';
if ( !empty( $exclude_admins_mods ) )
$exclude_admins_sql = "AND is_admin = 0 AND is_mod = 0";
$banned_sql = '';
if ( !empty( $exclude_banned ) )
$banned_sql = " AND is_banned = 0";
$exclude_sql = '';
if ( !empty( $exclude ) ) {
$exclude = implode( ',', wp_parse_id_list( $exclude ) );
$exclude_sql = " AND m.user_id NOT IN ({$exclude})";
}
$bp = buddypress();
if ( bp_is_active( 'xprofile' ) ) {
/**
* Filters the SQL prepared statement used to fetch group members.
*
* @since BuddyPress 1.5.0
*
* @param string $value SQL prepared statement for fetching group members.
*/
$members = $wpdb->get_results( apply_filters( 'bp_group_members_user_join_filter', $wpdb->prepare( "SELECT m.user_id, m.date_modified, m.is_banned, u.user_login, u.user_nicename, u.user_email, pd.value as display_name FROM {$bp->groups->table_name_members} m, {$wpdb->users} u, {$bp->profile->table_name_data} pd WHERE u.ID = m.user_id AND u.ID = pd.user_id AND pd.field_id = 1 AND group_id = %d AND is_confirmed = 1 {$banned_sql} {$exclude_admins_sql} {$exclude_sql} ORDER BY m.date_modified DESC {$pag_sql}", $group_id ) ) );
} else {
/** This filter is documented in bp-groups/bp-groups-classes */
$members = $wpdb->get_results( apply_filters( 'bp_group_members_user_join_filter', $wpdb->prepare( "SELECT m.user_id, m.date_modified, m.is_banned, u.user_login, u.user_nicename, u.user_email, u.display_name FROM {$bp->groups->table_name_members} m, {$wpdb->users} u WHERE u.ID = m.user_id AND group_id = %d AND is_confirmed = 1 {$banned_sql} {$exclude_admins_sql} {$exclude_sql} ORDER BY m.date_modified DESC {$pag_sql}", $group_id ) ) );
}
if ( empty( $members ) ) {
return false;
}
if ( empty( $pag_sql ) ) {
$total_member_count = count( $members );
} else {
/**
* Filters the SQL prepared statement used to fetch group members total count.
*
* @since BuddyPress 1.5.0
*
* @param string $value SQL prepared statement for fetching group member count.
*/
$total_member_count = $wpdb->get_var( apply_filters( 'bp_group_members_count_user_join_filter', $wpdb->prepare( "SELECT COUNT(user_id) FROM {$bp->groups->table_name_members} m WHERE group_id = %d AND is_confirmed = 1 {$banned_sql} {$exclude_admins_sql} {$exclude_sql}", $group_id ) ) );
}
// Fetch whether or not the user is a friend.
foreach ( (array) $members as $user )
$user_ids[] = $user->user_id;
$user_ids = implode( ',', wp_parse_id_list( $user_ids ) );
if ( bp_is_active( 'friends' ) ) {
$friend_status = $wpdb->get_results( $wpdb->prepare( "SELECT initiator_user_id, friend_user_id, is_confirmed FROM {$bp->friends->table_name} WHERE (initiator_user_id = %d AND friend_user_id IN ( {$user_ids} ) ) OR (initiator_user_id IN ( {$user_ids} ) AND friend_user_id = %d )", bp_loggedin_user_id(), bp_loggedin_user_id() ) );
for ( $i = 0, $count = count( $members ); $i < $count; ++$i ) {
foreach ( (array) $friend_status as $status ) {
if ( $status->initiator_user_id == $members[$i]->user_id || $status->friend_user_id == $members[$i]->user_id ) {
$members[$i]->is_friend = $status->is_confirmed;
}
}
}
}
return array( 'members' => $members, 'count' => $total_member_count );
}
Changelog
| Version | Description |
|---|---|
| 1.6.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.