Try this plugin. It hasn’t been updated for 2 years, but it works perfectly for me.
BuddyPress Admin Only Profile Fields
Adds these options to the visibility options: ‘Admin’, ‘Everyone (Admin Editable)’ and ‘Only Me (Admin Editable)’
Hope that helps
That is the same visibility options that already come with BuddyPress. I need to be able to add the option to choose that the profile is viewable by editors or other member group that comes with wordpress. I don’t want to hide them from being editable by the user, I want to hide them from being seen by other members on when they view another members profile but want them to be seen by more than just admin’s (i.e.) I also need to allow editor’s to be able to see them when viewing a member’s profile.
Actually, ‘Admin’, ‘Everyone (Admin Editable)’ and ‘Only Me (Admin Editable)’ are not part of BuddyPress and are added by the plugin.
If you use the plugin and set the field visibility to ‘Only Me (Admin Editable)’ then the field will only be visible to the user and the Admin. You could also use the ‘Admin’ settings to, for example, add notes about the user that the user can’t see.
The plugin initially sets the admin to be the main admin account, but it gives this code snippet in its FAQs to enable you to set the capability required, so editors can also see the field:
function custom_profile_fields_visibility() {
return ‘edit_others_posts’; // Editors
}
add_filter( ‘bp_admin_only_profile_fields_cap’, ‘custom_profile_fields_visibility’ );