Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KaineLabs/9490e8bfbdf868fc8d934d7d7eb3f52a to your computer and use it in GitHub Desktop.
Save KaineLabs/9490e8bfbdf868fc8d934d7d7eb3f52a to your computer and use it in GitHub Desktop.
Members Directory - Exclude Users By Roles.
<?php
/**
* Members Directory - Exclude Users By Role.
*/
function yz_exclude_members_directory_by_roles( $loop ) {
if ( ! bp_is_members_directory() ) {
return $loop;
}
// Get Forbidden Roles
$forbidden_roles = array( 'subscriber', 'editor' );
// Get Users List
$users = get_users( array( 'role__in'=> $forbidden_roles, 'fields' => array( 'ID' ) ) );
if ( empty( $users ) ) {
return $loop;
}
// Get User Ids
$users_ids = wp_list_pluck( $users, 'ID' );
// Get Users Ids separated by ","
$users_ids = implode( ',', $users_ids );
if ( isset( $loop['exclude'] ) && ! empty( $loop['exclude'] ) ) {
$loop['exclude'] = $loop['exclude'] . ',' . $users_ids;
} else {
$loop['exclude'] = $users_ids;
}
return $loop;
}
add_filter( 'bp_after_has_members_parse_args', 'yz_exclude_members_directory_by_roles' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment