Last active
March 14, 2024 23:27
-
-
Save sbrajesh/2142009 to your computer and use it in GitHub Desktop.
Hide Subscriber Users from BuddyPress member Directory
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
add_action('bp_ajax_querystring','bpdev_exclude_users',20,2); | |
function bpdev_exclude_users($qs=false,$object=false){ | |
//list of users to exclude | |
if($object!='members')//hide for members only | |
return $qs; | |
$excluded_user=join(',',bpdev_get_subscriber_user_ids());//comma separated ids of users whom you want to exclude | |
$args=wp_parse_args($qs); | |
//check if we are searching for friends list etc?, do not exclude in this case | |
if(!empty($args['user_id'])) | |
return $qs; | |
if(!empty($args['exclude'])) | |
$args['exclude']=$args['exclude'].','.$excluded_user; | |
else | |
$args['exclude']=$excluded_user; | |
$qs=build_query($args); | |
return $qs; | |
} | |
function bpdev_get_subscriber_user_ids(){ | |
$subscribers= get_users( array( 'role' => 'subscriber', 'fields' => 'ID' ) ); | |
return $users; | |
} |
Would anyone be able to help me with modifying this code so that all user roles are hidden, except for users with a specified user role?
Super late reply, but for @Hastibe and anyone else who wants to exclude all but one role, change the exclude to include.
// Helper for fetching all IDs to include. Returns an array in this example.
$included_user_ids = my_function_to_fetch_all_users_by_role();
$args = wp_parse_args( $qs );
$args['include'] = implode( ',', $included_user_ids );
$qs = build_query( $args );
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Has anyone made this work by hiding users based on Paid Memberships Pro level?
Ex: hide users with membership level 1,2,3 from BuddyPress Member Directory