Hide members
-
Hello,
How do I hide members from the member directory?
Use-case: For WordPress theme support I have created logins for plugin and theme support as well as dev. I would like to hide these “users” from the membership page in BuddyPress.Thank you for your assistance!
-
PS. Maybe hide by member type? or in the admin panel is there a checkbox? When I check ” Exclude user from Author-sitemap” the member still shows up under members.
I found this. May I made a feature enhancement request to add each of these code features to enable a check box in the users section of the admin panel? Having to manually add the ID of new users to hide isn’t practical: https://buddypress.org/support/topic/hide-admin-from-members-and-activity/:
// Remove admin from the member directory
function bpdev_exclude_users($qs=false,$object=false){$excluded_user=’1′; // Id’s to remove, separated by comma
if($object != ‘members’ && $object != ‘friends’)// hide admin to members & friends
return $qs;$args=wp_parse_args($qs);
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;
}
add_action(‘bp_ajax_querystring’,’bpdev_exclude_users’,20,2);// once admin is removed, we must recount the members !
function bpfr_hide_get_total_filter($count){
return $count-1;
}
add_filter(‘bp_get_total_member_count’,’bpfr_hide_get_total_filter’);We have to update these two lines of code for each user correct?
$excluded_user=’1′;
add_action(‘bp_ajax_querystring’,’bpdev_exclude_users’,20,2);No, just
$excluded_user='1, 23, 267';
And please use thecode
button when posting code.Just looked up a solution for this and found a topic wishing this to be included 3 years ago and now this most recent one.
I’m wondering if it’s possible to include this function, to be able to exclude specific members from showing up…?
Re: Hiding admins from member list:
In looking back at all of these threads I realize we didn’t jot down the root path to the file we need to update with this code: $excluded_user=’1, 23, 267′;
Can someone provide the path to get to this file? I can’t seem to find it again.
example: wp-content/buddypress/bp-themes/otherfoldername/filename.php
You need to create the code. Do so in bp-custom.php.
Thank you but that doesn’t provide me the path the original file I was directed to update where I needed to add the ID numbers. I still need to know where that file lives.
For this new solution, what is the latest “official” complete code I should include in the new bp-custom.php file? The link you provided is asking me to create a new file if it didn’t exist. I did that adding it here in the plugins folder: public_html/wp-content/plugins
Including this code as a starting point:
<?php
// hacks and mods will go here
?>
—————————–
Is the below the correct and complete code to use?// Remove admin from the member directory
function bpdev_exclude_users($qs=false,$object=false){$excluded_user=’1′; // Id’s to remove, separated by comma
if($object != ‘members’ && $object != ‘friends’)// hide admin to members & friends
return $qs;$args=wp_parse_args($qs);
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;
}
add_action(‘bp_ajax_querystring’,’bpdev_exclude_users’,20,2);// once admin is removed, we must recount the members !
function bpfr_hide_get_total_filter($count){
return $count-1;
}
add_filter(‘bp_get_total_member_count’,’bpfr_hide_get_total_filter’);PS, I just added that code and it broke my site with the following error:
Parse error: syntax error, unexpected ‘,’ in /home/mysite/public_html/wp-content/plugins/bp-custom.php on line 7Hi. I struggled with this for a while, and I agree entirely that something like this needs to be in the BuddyPress core… actually, I think much better user management needs to be in the WordPress core, not just BuddyPress, but that’s a discussion for another time…
I eventually found the code that you’re using and modified it to be able to ignore all users with a specific WP role or roles, thus removing the need to hard-code specific user IDs.
To manage user roles you’ll need a plugin such as User Role Editor by Vladimir Garagulya and create a new role that you assign to users who you want excluded (I chose “suspended”). If you use URE you can assign this as an additional role to the main one that WordPress allows you to set.
The code is here: http://pastebin.com/9xYALGfR, but I’m no PHP expert, so offer no assurances… all I can say is that it works for me 🙂
so, @shanebp forgive me if resurrecting this thread is a bad idea, but it has the information in it that i have a question on, and i figured it’s easier to use this one to talk about my issue rather than create a new thread and link back here.
i looked at the bp-custom.php file you linked to for this issue and i’m unsure where i can find the correct code to use with it….because i am actually not trying to merely hide members from the directory, but am instead trying to hide them from the directory and ALL other users on the site. i want to make it so that the user profiles basically are unreachable…along with each user’s information.
so i believe (not sure, but i believe) that to achieve this is i would need to make sure the profiles are handled in one of the following ways:
– password protected from view, accessible only to admins/keymaster
– never loaded at all somehow, via bp-custom.php
– the template for user profiles is blanked out somehow, so information is never put in them
– get the buddypress profile for users — when clicking on an avatar — just redirect to the main site pageof course, i have no idea if these guesses are the way to achieve the goal i really want….which is to have only one profile used (i’m using woocommerce’s account screen for their profiles)……i have no need for a buddypress profile to be used in addition to the woocommerce account profile page that i have them already using.
i honestly just want each user’s personal profile page in buddypress to be disabled. so they can’t see their own profile or any profile of others.
whether that involves forwarding users to the site main page when they click on a user, or (ideally) not being clickable at all, or….oh, i don’t know. as long as no buddypress profile is viewable by any member in any way. not even by the buddypress user themselves.
and yes — this would also include hiding member names from search.
note: i don’t care if they can see the member list in the hidden group forums; that is the only place i care to see members listed. but i don’t want those member avatars to be clickable in a hidden group forum. not ever.
thoughts????
I am using redirect the member page to home page. This is not an ideal method but the easiest method as of now. Hope there is a feature to disable the member list page from members view in future.
- You must be logged in to reply to this topic.