This plugin hasn’t been tested with the latest three major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

BP Group Hierarchy


Break free from the tyranny of a flat group list!

This plugin allows group creators to place a new group under an existing group. There is currently no limit to the depth of the group hierarchy.

Every group and subgroup is a normal BuddyPress group and can have members and a forum, use group extensions, etc.


  • Spanish translation generously provided by _DorsVenabili
  • Russian translation generously provided by Roman
  • Slovak translation generously provided by Branco, (
  • Danish translation generously provided by Mort3n
  • French translation generously provided by Mecanographik
  • Brazilian Portugese translation generously provided by stickFinger
  • Dutch translation generously provided by Zé Vandenhoeck
  • Italian translation generously provided by Stefano Colarelli

Known Issues

Currently known issues:

  • Tabs on Groups page may revert to an “unselected” state when navigating the tree or hiding the normal group list
  • Group Tree requires JavaScript
  • PHP 5 only


  • Group Tree tab on main Groups page
  • Member Groups item on individual group pages
  • Hierarchy options when creating new groups


  1. Extract the plugin archive
  2. Upload plugin files to your /wp-content/plugins/ directory
  3. Activate the plugin through the ‘Plugins’ menu in WordPress


Does privacy or status propagate from group to subgroup?

No. The plugin creates a hierarchy of group URLs, but does not put restrictions on the subgroup.

Are group members automatically added to a subgroup?

No. I don’t know how you will want to use subgroups, so no assumptions have been made.

If I restrict new groups to member or admins, can a subgroup be made with more lenient restrictions?

Yes. Restrictions affect only the group to which they are applied. Subgroups can themselves be more or less restrictive.

Do activity stream messages propagate up (from child to parent) or down (from parent to child)?

No. There is currently no way to have activity propagate up without creating duplicate entries in the sitewide activity stream.


3 September 2016
Very good plugin, the group's hierarchy page with the list of the sub groups isnt working
Read all 6 reviews

Contributors and Developers

“BP Group Hierarchy” is open source software. The following people have contributed to this plugin.


Translate “BP Group Hierarchy” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Change Log


  • NOTE: This will be the last release to support BuddyPress 1.6 and 1.7!
  • Added: preliminary support for BP 2.0 – contributed by r-a-y
  • Fixed: strict standards warnings – contributed by r-a-y
  • Fixed: when sorting by popularity, sort descending – contributed by trans1t


  • Added: Italian translation contributed by Stefano Colarelli
  • Added: Hooks for adding fields to the plugin settings page – contributed by Christian Wach


  • Fixed: Error in groups_hierarchy_create_group function – thanks, dcavins
  • Fixed: Pagination issue on the Member Groups page of a group – thanks, phlux303


  • Removed: Support for BuddyPress 1.5
  • Added: Support for BuddyPress 1.9
  • Added: Support for BP theme compatibility mode
  • Changed: Updated extension class to conform (better) to new BP_Group_Extension guidelines
  • Changed: Improved compatibility with multisite installs
  • Fixed: Weird HTML title when hiding the flat group list
  • Fixed: Wrong tab could be highlighted when loading the Groups list page under certain circumstances – thanks, Mike


  • NOTE: This will be the last release to support BuddyPress 1.5!
  • Added: Danish translation contributed by Mort3n
  • Added: French translation contributed by Mecanographik
  • Added: Brazilian Portugese translation contributed by stickFinger
  • Added: Dutch translation contributed by Zé Vandenhoeck
  • Added: bp_group_hierarchy_extension_tab_name filter for Member Groups tab name


  • Added: Russian translation contributed by Roman
  • Added: Slovak translation contributed by Branco, (
  • Changed: Return a 404 instead of redirecting non-existent group URLs to main group list
  • Fixed: Hide the main Create a Group button when the user cannot create any groups – thanks, investoreports
  • Fixed: Improved detection of bogus groups in permalink rewrite function


  • Fixed: Hiding the flat group list affected the My Groups view – thanks, Jay Collier
  • Fixed: one last $wpdb->prepare error – thanks, Prometheus Fire
  • Changed: improved support for BP 1.7


  • Added: support for BP 1.7, including the new Groups admin menu
  • Changed: separated admin pages from the extension.php file
  • Changed: brought component loader up to date with BP trunk
  • Fixed: stopped abusing $wpdb->prepare() ( no more errors in WP 3.5 )


  • Changed: Made Javascript loading multisite-compatible
  • Changed: devs – bp_group_hierarchy_route_requests action fires later; use bp_group_hierarchy_globals_loaded to access the original location
  • Fixed: bug prevented loading group forum topic pages for subgroups – thanks, idjack
  • Fixed: fatal error when viewing non-existent member profile (or possibly other 404 pages) – thanks, tangpage


  • Added: faster saving of parent selection when creating a group on BP 1.6+
  • Changed: slight speed-up filling in parent group dropdown with a large number of groups
  • Changed: parent groups are sorted alphabetically in dropdowns
  • Changed: plugin is no longer Network/Site Wide Only
  • Changed: deprecated BP_Groups_Hierarchy::get_active() compatibility function
  • Fixed: display bugs for anonymous users browsing group tree or member groups page – thanks, arialburnz


  • Added: a filter for adding or removing toplevel group-creation permissions separately
  • Changed: new method of loading templates for compatibility with privacy plugins – thanks, b1gft
  • Changed: slight speed-up loading group tabs if you do not have the subgroup count in the Member Groups name string
  • Changed: default behavior of ‘anyone’ permission: anonymous visitors will not see a Create Member Group button unless you
    enable it with the bpgh_extension_allow_anon_subgroups filter
  • Changed: anonymous visitors can browse subgroups of Private groups — disable by filtering bp_group_hierarchy_allow_anon_access
  • Fixed: HTML title bug for Group Tree page
  • Removed: more BP 1.2 leftovers


  • Added: support for loading hierarchy.css from your theme directory so the group tree can better fit your site
  • Added: groups_hierarchy_create_group function for creating groups with parents programatically
  • Added: more debugging messages
  • Changed: deprecated bp_get_groups_hierarchy_root_slug wrapper function
  • Changed: optimized path calculation for group pages
  • Changed: reorganized plugin files to better fit BP coding standards
  • Fixed: PHP warning that could occur on group pages
  • Removed: BP 1.2 compatibility


  • Added: new safeguards to alert admin when DB changes can’t be made, and prevent fatal errors in some cases
  • Added: strip HTML from page titles when displaying member group count in BP 1.2
  • Changed: faster processing in BuddyPress 1.5 by only processing the current_action once
  • Changed: column and key name syntax to reduce errors – thanks, nicosFR and imacg
  • Changed: detection of deprecated BP title hook to avoid potential issue – thanks, tomraff


  • Added: respect for setting BP_GROUPS_HIERARCHY_SLUG constant outside the plugin, for changing Member Groups URL
  • Added: pagination self-sufficiency to BP_Group_Hierarchy_Template class
  • Changed: default Member Groups text to reflect BP 1.5+ tab style
  • Changed: wrap a subgroup count in “Member Groups” tab name in a span tag for proper display in BP 1.5+
  • Changed: switched from deprecated upgrade file to the right one for plugin activation
  • Fixed: bugs that triggered some warnings
  • Fixed: debug functions respect WP_DEBUG_DISPLAY settings – thanks, rolandinsh
  • Removed: ability to enable activity propagation – it will be fixed up and re-released, probably in an extras package


  • Added: template function for getting a list of child groups
  • Added: documentation to template functions
  • Changed: made tree-loop template file more closely conform to latest groups-loop for theme editors
  • Changed: bail when BuddyPress Groups component is disabled to avoid triggering fatal errors – thanks, 3dperuna
  • Changed: extension uses BP_GROUP_HIERARCHY_SLUG constant instead of a separate value
  • Fixed: cleaned up some older code that was triggering warnings
  • Fixed: bug affecting profile plugins under the groups component – thanks, gg565


  • Changed: updated Group Component to BuddyPress trunk
  • Changed: switched Member Group sorting to alphabetical
  • Fixed: a bug affecting Request Membership link – thanks, cyberhobo
  • Fixed: a bug affecting permalinks for second level groups root_slug installs
  • Fixed: a rare permalink bug that could create invalid URLs


  • Added: bp_group_hierarchy_group_tree_name() function for template editors
  • Changed: deprecated old translation scheme in favor of support for load_plugin_textdomain()
  • Changed: updated templates/tree/index.php page to match the structure of BP 1.5.1 pages


  • Added: new Group Navigator widget that shows member groups of the displayed group
  • Added: sorting options for both widgets, including “Most Member Groups”
  • Fixed: support for second level groups root_slug in “Create a Member Group” links – thanks to cyberhobo for catching this


  • Added: save the parent ID of a new group when group is first saved (only when using the “Create a Member Group” button)
  • Added: respect BuddyPress 1.5 “Restrict group creation to Site Admins” setting
  • Changed: name of some extension functions for more consistent naming
  • Fixed: Member Groups pagination in BuddyPress 1.5
  • Fixed: don’t try to load a template file from the plugin folder as a last resort unless it exists
  • Fixed: handling of search placeholder text in BuddyPress 1.5 that caused empty group tree after using the sorting dropdown


  • Added: Spanish translation generously provided by @_DorsVenabili
  • Added: can enable activity propagation (but see FAQ for important info)
  • Changed: string in the Top Level Groups widget to be more consistent with BP 1.5


  • Changed: Group creation wizard error message to BuddyPress standard
  • Changed: use groups->root_slug when available instead of groups->id
  • Fixed: bug that would prevent site admins from creating a first group under certain circumstances


  • Added: Block users from the group creation wizard when they aren’t allowed to create groups anywhere
  • Added: New debugging hooks for magic method errors
  • Changed: improved Member Groups page display


  • Added: pagination for Member Groups page
  • Changed: improved compatibility with BuddyPress 1.5


  • Added: BuddyPress 1.5 compatibility (beta 2)
  • Changed: made some filters more consistent
  • Changed: workaround for issue with Doc in Nav (and other plugins that run on bp_setup_nav with priority 10) – thanks, @johnny2011
  • Fixed: extension only loaded Group Tree if groups slug was ‘groups’ – thanks, @mutualdesigns


  • Fixed: issues with the admin page and routing
  • Fixed: title of the Groups Directory page when you hide the normal group list


  • Added: BuddyPress 1.3 compatibility
  • Added: template tags for group hierarchy
  • Changed: disabled paging for subgroups on the Group Tree page


  • Fixed: bug with my-group display reported by @pnerger


  • Added: ability to restrict toplevel group creation to admins only


  • Added: function to move child groups when deleting a parent
  • Changed: file structure to match BuddyPress standard
  • Fixed: short open tag in extension.php


  • Added: ‘Nobody’ permission – allows only site admins to create child groups (req’d by @flynn)
  • Changed: ID of widget panel to avoid interference with normal Groups widget
  • Changed: Made default values for labels more consistent
  • Fixed: Made group tree more resilient to invalid bp->groups->current_group data


  • Added: support for searching and sorting when using only the Group Tree
  • Fixed: Group Tree issue when there are more than per_page groups


  • Fixed: Forum bug from the last update that affected the main Forums screen


  • Added: Browse the entire hierarchy on the Group Tree page
  • Added: Templates for listing groups and subgroups


  • Added: top-level groups widget
  • Changed: groups admins can edit subgroup creation permissions
  • Changed: handling of parent group in group creation to avoid PHP errors
  • Fixed: wrong URL on Group Tree tab – still requires AJAX loading, but getting closer


  • Added: Ability to show number of child groups on the ‘Member Groups’ tab


  • Added: Group Tree to extension for viewing groups by hierarchy
  • Added: Admin options for Member Groups and Group Tree
  • Changed: Create a Member Group button to hopefully resolve empty group slug issues


  • Changed: extension brings the Member Groups tab into the BuddyPress loop
  • Changed: behavior of check_slug method for self-sufficiency
  • Fixed: Join and Leave Group buttons on Member Groups tab refer to parent group – thanks, @Deadpan110


  • Fixed: bug that caused forum topics to not display reported by cezar


  • Added: Group creators can now restrict subgroups to group members or group admins (with hooks for other types of restrictions)
  • Added: Create a Member Group button on Member Groups tab for more streamlined use
  • Changed: Reveal Member Groups tab to those allowed to create subgroups
  • Changed: Default permissions now allow only group members to create subgroups
  • Fixed: Private member groups were not being shown on that tab – thanks, @Deadpan110


  • Added get_group_extras fixup for Group Forum Extras and others
  • Fixed notification bug reported by @cezar


  • Fixed bug when using custom group slug reported by @avahaf


  • Fixed group invite bug reported by @cezar


  • Fixed forum permalink bug reported by @mtblewis
  • Added check_slug_stem function for wildcard searches
  • More documentation


  • Initial release