Re: Some basic BuddyPress questions…
Hi, I should preface this by saying that I’m not a BuddyPress developer as such, but have been coding WordPress themes professionally for a couple of years, and have been researching BP and putting together a BP-based startup for the past couple of months, so have been through these questions myself, and my own early steps may prove useful.
1. See https://wordpress.org/extend/plugins/bp-profile-privacy/
2. https://wordpress.org/extend/plugins/buddypress-private-community/ might be interesting. There’s another, more granular, privacy plugin that the community has its fingers crossed for, for further details see http://bp-privacy.com/
3. All of that should, and does, happen as a matter of course.
4. Semantics aside, they are all “subscribers” as far as WP is concerned, ie. members and commenters are one and the same.
5. BuddyPress themes contain extra template files for the parts of BP that are an extension on the WP template system (eg. activity, groups, user profile etc.) plus various css and javascript files. Running a regular WP theme with BP running won’t give you the framework to display that BP functionality. In order to achieve that, your WP theme needs the extra template files. You have two options, each with benefits and drawbacks:
a) Extend your existing theme with the required template files, javascript and css to enable and display the BuddyPress sections and functionalities. See https://wordpress.org/extend/plugins/bp-template-pack/ The drawback is that next time BuddyPress is updated, you might be faced with quite a fair amount of development getting your site aligned with the latest code base, new features etc.
b) Constructing a child theme. This relies on running the Default theme, and then adding your own css overrides and theme hacks as a non-destructive layer on top. The principle is that you can strip away your own additions, and you’ve still got the Default theme running beneath it, so in a sense it’s “unbreakable” and whilst you may need to modify your additions once BP is next updated, the underlying template will always function. With a decent caching strategy, unless you’ve expert level php behind you, I think it’s the way to go.