bp_get_member_class( array $classes = array() )
Return the row class of the current member in the loop.
Description
Parameters
- $classes
-
(Optional) Array of custom classes.
Default value: array()
Return
(string) Row class of the member
Source
File: bp-members/bp-members-template.php
function bp_get_member_class( $classes = array() ) {
global $members_template;
// Add even/odd classes, but only if there's more than 1 member.
if ( $members_template->member_count > 1 ) {
$pos_in_loop = (int) $members_template->current_member;
$classes[] = ( $pos_in_loop % 2 ) ? 'even' : 'odd';
// If we've only one member in the loop, don't bother with odd and even.
} else {
$classes[] = 'bp-single-member';
}
// Maybe add 'is-online' class.
if ( ! empty( $members_template->member->last_activity ) ) {
// Calculate some times.
$current_time = bp_core_current_time( true, 'timestamp' );
$last_activity = strtotime( $members_template->member->last_activity );
$still_online = strtotime( '+5 minutes', $last_activity );
// Has the user been active recently?
if ( $current_time <= $still_online ) {
$classes[] = 'is-online';
}
}
// Add current user class.
if ( bp_loggedin_user_id() === (int) $members_template->member->id ) {
$classes[] = 'is-current-user';
}
// Add current user profile types.
if ( $member_types = bp_get_member_type( $members_template->member->id, false ) ) {
foreach ( $member_types as $member_type ) {
$classes[] = sprintf( 'member-type-%s', esc_attr( $member_type ) );
}
}
/**
* Filters the determined classes to add to the HTML element.
*
* @since BuddyPress 1.7.0
*
* @param string $classes Classes to be added to the HTML element.
*/
$classes = apply_filters( 'bp_get_member_class', $classes );
$classes = array_merge( $classes, array() );
$retval = 'class="' . join( ' ', $classes ) . '"';
return $retval;
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 1.7.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.