Home page: open_in_new https://www.buddyboss.com
For developers: open_in_new https://www.buddyboss.com/resources/developers/
Members loop
while ( bp_members() ) :
bp_the_member();
// Get the ID of the current member in the loop.
bp_get_member_user_id();
// Get user followers count.
bb_get_followers_count( $user_id );
// Get user following count.
bb_get_following_count( $user_id );
// Get the user registered date meta.
bb_get_member_joined_date( $user_id );
// Get the "active [x days ago]" string for a user.
bp_get_last_activity( $user_id );
endwhile;
Profile fields
Profile field groups:

// Get profile field groups.
bp_profile_get_field_groups();
// Returns the ID for the field based on the field name.
xprofile_get_field_id_from_name( $field_name );
// Get a profile field object.
$field = xprofile_get_field( $field_id );
echo $field->name;
echo $field->description;
echo $field->data->value;
Database
All the profile fields are stored in the wp_bp_xprofile_fields table.

All the values are stored in the wp_bp_xprofile_data table.

Profile search
Here’s how we can enable the search: open_in_new link .
All profiles are received using AJAX request to the /wp-admin/admin-ajax.php:
scope: all
filter: newest
extras: false
nonce: b053f8854f
action: members_filter
object: members
target: #buddypress [data-bp-list]
search_terms:
page: 1
caller:
template:
method: reset
Parameters are received through the cookies (bp_ps_request). These parameters are set using the search form. So firstly we
send a form (POST request), it installs cookies, and then we get users using an AJAX request.
Example of the POST parameters:
field_1_contains:
field_2_contains:
field_4_date_range[min][day]: 10
field_4_date_range[min][month]:
field_4_date_range[min][year]:
field_4_date_range[max][day]:
field_4_date_range[max][month]:
field_4_date_range[max][year]:
bp_profile_search: 36
Andrew Dorokhov