BP_Friends_Friendship::get_random_friends( int $user_id, int $total_friends = 5 )

Get a list of random friend IDs.

Description

Parameters

$user_id

(Required) ID of the user whose friends are being retrieved.

$total_friends

(Optional) Number of random friends to get. Default: 5.

Default value: 5

Return

(array|false) An array of random friend user IDs on success; false if none are found.

Source

File: bp-friends/classes/class-bp-friends-friendship.php

887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
public static function get_random_friends( $user_id, $total_friends = 5 ) {
    global $wpdb;
 
    $bp      = buddypress();
    $fids    = array();
    $sql     = $wpdb->prepare( "SELECT friend_user_id, initiator_user_id FROM {$bp->friends->table_name} WHERE (friend_user_id = %d || initiator_user_id = %d) && is_confirmed = 1 ORDER BY rand() LIMIT %d", $user_id, $user_id, $total_friends );
    $results = $wpdb->get_results( $sql );
 
    for ( $i = 0, $count = count( $results ); $i < $count; ++$i ) {
        $fids[] = ( $results[$i]->friend_user_id == $user_id ) ? $results[$i]->initiator_user_id : $results[$i]->friend_user_id;
    }
 
    // Remove duplicates.
    if ( count( $fids ) > 0 )
        return array_flip( array_flip( $fids ) );
    else
        return false;
}

Changelog

Changelog
Version Description
BuddyPress 1.0.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.