The Members Loop / bp_has_members()

Codex HomeDeveloper DocsCustom BuddyPress Loops → The Members Loop / bp_has_members()

The site members loop can be used to output a list of users that are registered on your site.

Standard Loop

<?php if ( bp_has_members() ) : ?>

	<div class="pagination">

		<div class="pag-count" id="member-dir-count">
			<?php bp_members_pagination_count() ?>
		</div>

		<div class="pagination-links" id="member-dir-pag">
			<?php bp_members_pagination_links() ?>
		</div>

	</div>

	<?php do_action( 'bp_before_directory_members_list' ) ?>

	<ul id="members-list" class="item-list">
	<?php while ( bp_members() ) : bp_the_member(); ?>

		<li>
			<div class="item-avatar">
				<a href="<?php bp_member_permalink() ?>"><?php bp_member_avatar() ?></a>
			</div>

			<div class="item">
				<div class="item-title">
					<a href="<?php bp_member_permalink() ?>"><?php bp_member_name() ?></a>
					<?php if ( bp_get_member_latest_update() ) : ?>
						<span class="update"> - <?php bp_member_latest_update( 'length=10' ) ?></span>
					<?php endif; ?>
				</div>
				<div class="item-meta"><span class="activity"><?php bp_member_last_active() ?></span></div>

				<?php do_action( 'bp_directory_members_item' ) ?>

				<?php
				 /***
				  * If you want to show specific profile fields here you can,
				  * but it'll add an extra query for each member in the loop
				  * (only one regadless of the number of fields you show):
				  *
				  * bp_member_profile_data( 'field=the field name' );
				  */
				?>
			</div>

			<div class="action">
				<?php do_action( 'bp_directory_members_actions' ) ?>
			</div>

			<div class="clear"></div>
		</li>

	<?php endwhile; ?>
	</ul>

	<?php do_action( 'bp_after_directory_members_list' ) ?>

	<?php bp_member_hidden_fields() ?>

<?php else: ?>

	<div id="message" class="info">
		<p><?php _e( "Sorry, no members were found.", 'buddypress' ) ?></p>
	</div>

<?php endif; ?>

↑ Top ↑

Accepted Parameters

The bp_has_members() function will accept a number of parameters that will manipulate the data being returned.

  • type optional

    Defines the type of users to return.

    • Accepted arguments: active, newest, popular, online, alphabetical, random
    • Default value: active
  • per_page optional

    The number of users to display on a page before they are paginated to the next page.

    • Default value: 10
  • page optional

    The page number to display.

    • Default value: 1
  • max optional

    The total number of users to return.

    • Default value: false (no limit)
  • include optional

    Pass a user_id or string of comma separated user_ids to return on these users.

    • Default value: false
  • user_id optional

    Limit the members returned to only friend connections of the logged in user.

    • Default value: false
  • search_terms optional

    Return members that match these search terms

    • Default value: false
  • populate_extras optional

    Fetch extra meta for each user such as their full name, if they are a friend of the logged in user, their last activity time.

    • Default value: true