Re: How to hide bbpress forums from users while allowing forums in buddypress groups
The way I see it, you have a couple of options:
1) Continue using your external bbPress setup for open, public discussions (similar to bp.org/forums), while hiding all group forums and group forum related discussions from your external bbPress install.
BP group forum discussions will now be using the new integrated forums in BP 1.1 only for group discussions. And you can retain all your external bbPress posts!
This essentially means you’ll have two forums.
2) Move everything over to the integrated BuddyPress forums (not something you want to do I’m guessing).
3) Move everything over to the external install of bbPress (requires BP core hacking, doable, but more work).
—
Option 1 is probably the most viable.
Here’s how to do it:
Step #1 (optional, depending on where you installed your external version of bbPress)
By default, BP group forums can be accessed at:
hxxp://example.com/forums/
If your external bbPress is also installed in /forums/, you’ll want to rename BP’s forums slug to something else.
You can do this by adding the following in your wp-config.php or bp-custom.php:
define( 'BP_FORUMS_SLUG', 'group-forums' );
In the example above, your BP forums can now be accessed at hxxp://example.com/group-forums/
Step #2
In your external bbPress install, make sure all your group forums are under a forum category.
If you don’t have a forum category specifically for your group forums, go into your bbPress admin area and add one (you can call the forum category “Group Forums” or whatever you want), then place each group forum under this new category.
Note down the forum ID of the forum category. You can get the forum category ID by mousing over the “Edit” link and checking the “id” parameter.
Step #3
Now that you’ve created a forum category and noted down that forum category ID, we want to hide all group forum related stuff from access and view.
We’re going to be using _ck_’s Hidden Groups plugin to do this.
Since you’re using the BP Groups plugin by Burt Adsit, chances are you’re already using _ck_’s Hidden Forums plugin due to its usage with BP Groups.
Open up the plugin (hidden-forums.php) in a text editor.
Comment out this line:
$hidden_forums['hidden_forums']=array(500,501,502); // hide these forums, list by comma seperated number
Underneath that line, add the following:
$bp_hide_group_forum_category_id = 3;
$hidden_forums['hidden_forums']=array();
$hidden_forums['hidden_forums'][] = $bp_hide_group_forum_category_id;
$forums = get_forums();
foreach ($forums as $forum) {
if ($forum->forum_parent == $bp_hide_group_forum_category_id)
$hidden_forums['hidden_forums'][] = $forum->forum_id;
}
Change the $bp_hide_group_forum_category_id variable to the forum category ID you noted down in step #2.
—
And that should be it! By default, the admin can view every single forum post, so try viewing your bbPress install when you’re logged out!