bp_core_get_users( array|string $args = '' )

Fetch an array of users based on the parameters passed.


Since BuddyPress 1.7, bp_core_get_users() uses BP_User_Query. If you need backward compatibility with BP_Core_User::get_users(), filter the bp_use_legacy_user_query value, returning true.



(array|string) (Optional) Array of arguments. All are optional. See BP_User_Query for a more complete description of arguments.

  • 'type'
    (string) Sort order. Default: 'active'.
  • 'user_id'
    (int) Limit results to friends of a user. Default: false.
  • 'exclude'
    (mixed) IDs to exclude from results. Default: false.
  • 'search_terms'
    (string) Limit to users matching search terms. Default: false.
  • 'meta_key'
    (string) Limit to users with a meta_key. Default: false.
  • 'meta_value'
    (string) Limit to users with a meta_value (with meta_key). Default: false.
  • 'member_type'
    (array|string) Array or comma-separated string of profile types.
  • 'member_type__in'
    (array|string) Array or comma-separated string of profile types. $member_type takes precedence over this parameter.
  • 'member_type__not_in'
    (array|string) Array or comma-separated string of profile types to be excluded.
  • 'include'
    (mixed) Limit results by user IDs. Default: false.
  • 'per_page'
    (int) Results per page. Default: 20.
  • 'page'
    (int) Page of results. Default: 1.
  • 'populate_extras'
    (bool) Fetch optional extras. Default: true.
  • 'count_total'
    (string|bool) How to do total user count. Default: 'count_query'.

Default value: ''




File: bp-members/bp-members-functions.php

function bp_core_get_users( $args = '' ) {

	// Parse the user query arguments.
	$r = bp_parse_args( $args, array(
		'type'                => 'active',     // Active, newest, alphabetical, random or popular.
		'user_id'             => false,        // Pass a user_id to limit to only friend connections for this user.
		'exclude'             => false,        // Users to exclude from results.
		'search_terms'        => false,        // Limit to users that match these search terms.
		'meta_key'            => false,        // Limit to users who have this piece of usermeta.
		'meta_value'          => false,        // With meta_key, limit to users where usermeta matches this value.
		'member_type'         => '',
		'member_type__in'     => '',
		'member_type__not_in' => '',
		'include'             => false,        // Pass comma separated list of user_ids to limit to only these users.
		'per_page'            => 20,           // The number of results to return per page.
		'page'                => 1,            // The page to return if limiting per page.
		'populate_extras'     => true,         // Fetch the last active, where the user is a friend, total friend count, latest update.
		'count_total'         => 'count_query' // What kind of total user count to do, if any. 'count_query', 'sql_calc_found_rows', or false.
	), 'core_get_users' );

	// For legacy users. Use of BP_Core_User::get_users() is deprecated.
	if ( apply_filters( 'bp_use_legacy_user_query', false, __FUNCTION__, $r ) ) {
		$retval = BP_Core_User::get_users(

	// Default behavior as of BuddyPress 1.7.0.
	} else {

		// Get users like we were asked to do...
		$users = new BP_User_Query( $r );

		// ...but reformat the results to match bp_core_get_users() behavior.
		$retval = array(
			'users' => array_values( $users->results ),
			'total' => $users->total_users

	 * Filters the results of the user query.
	 * @since BuddyPress 1.2.0
	 * @param array $retval Array of users for the current query.
	 * @param array $r      Array of parsed query arguments.
	return apply_filters( 'bp_core_get_users', $retval, $r );


Version Description
BuddyPress 1.2.0 Introduced.


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.