Plugin Directory


Groups is an efficient and powerful solution, providing group-based user membership management, group-based capabilities and content access control.


  • WordPress 4.3 compatibility tested.
  • Updated the menu position constant (string instead of number).
  • Removed translation of the Groups menu title (related to a consistent appearance and would also be affected by a a core bug).
  • Fixed padding for the header checkbox on the Groups and Capabilities screens.


  • Fixes an issue with map_meta_cap filtering where no valid post ID is provided.


  • Added the French translation.
  • Added the [groups_login] shortcode.
  • Added the [groups_logout] shortcode.
  • Updated the German translation.
  • Updated the Spanish translation.
  • Added the groups_deleted_capability_capability action.
  • Fixed an issue with deleted capabilities restricting access to posts.
  • Fixed cache entries for capabilities.


  • Added the German translation.
  • Updated the Spanish translation.
  • Updated the Groups menu position.
  • Removed empty strings from translation.


  • Added administrative links to the plugin entry.


  • Added the Dutch translation.


  • Added a comparison method for groups and capabilities.
  • Updated the documentation link in the help content.


  • Improved internal definitions to use API function instead of WP_CONTENT_DIR and WP_CONTENT_URL constants.
  • Now showing inherited capabilities for groups.
  • Added ABSPATH check to plugin main file.
  • Improved the UI rendering cancel links as buttons.
  • Improved the UI adding some space on capability selector box.
  • Fixed a pagination issue when the page number is indicated on the Groups or Capabilities screen.


  • Please MAKE A BACKUP of your site and database PRIOR to updating.
  • WordPress 4.2 compatible.
  • Adopted a more flexible index size on the capability row of the capability table.


  • Please MAKE A BACKUP of your site and database PRIOR to updating.
  • WordPress 4.2 compatible.
  • Reduced the index size on the capability row of the capability table.


  • Due to changes in versions 1.4.14 and 1.4.15, it's important to MAKE A BACKUP of the site & database, test the site, extensions & theme PRIOR to updating.
  • Fixes a cache incompatibility with caching mechanisms that do not implement wp_cache_get()'s function signature fully. This addresses cases specifically where the fourth parameter $found is not initialized as expected upon return. The performance improvements included in this release are lessened with caching plugins that fail to implement the return value disambiguation via $found.


  • Now not using Groups' the_posts filter by default as results are already filtered by Groups' posts_where filter.
  • Added the groups_filter_the_posts filter which can be used to 'reactivate' Groups' the_posts filter where needed.
  • Added caching for capabilities read by capability name.
  • Added caching for groups read by name.
  • Added caching for results obtained in Groups_Post_Access::user_can_read_post(...).
  • Added the groups_post_access_user_can_read_post filter.
  • Admin override is disabled by default (existing installs need to disable manually if options were saved).
  • Swedish translation by AndrĂ©as Lundgren added.


  • WordPress 4.1 compatible.


  • Fixes missing selectize Javascript for the media uploader's attachment popup.


  • WordPress 4.0 compatible.


  • Improved: code documentation
  • WordPress 3.9 compatibility checked
  • Changed some filter usage with prepare() for 3.9 nags.
  • Fixed unmatched tags in the tree view.


  • Fixed: Tree view doesn't appear/disappear in menu directly after setting the option.
  • Improved: Feedback when options have been saved.
  • Improved: UI size adjustments.
  • Added: New API methods Groups_Group::get_group_ids() and Groups_Group::get_groups().
  • Improved: groups and capabilities table cell titles and ellipsis added.


  • Fixed: A closing tag in the group list on the user profile.
  • Fixed: Help wording.
  • Improved: Capabilities in the Access Restrictions column are sorted for more consistent display.
  • Improved: Reduced ID, Edit and Remove column widths on Groups and Capabilities screens.
  • Fixed: Stripping added slashes from groups and capabilities displayed.
  • Added: Feedback when groups and capabilities are created, updated or removed in admin.
  • Added: group and exclude_group attributes for the [groups_user_groups] shortcode.
  • Improved: Replaced remnant CR LF line-endings in code.
  • Fixed: Handling updates to a capability when the capability field is empty.
  • Fixed: Handling updates to a group when the name field is empty.
  • Fixed: Don't allow to use the name of another existing group when updating a group.
  • Fixed: Don't allow to use the name of another existing capability when updating one.


  • Security improvement: plugin files accessed directly exit

  • Fixed: Don't interfere with output when there is no post (the_content and get_the_excerpt filters)


  • Security fix : Certain capabilities could be granted to users instead of being denied with a change introduced in version 1.4.5. Roles with negated capabilities would effectively grant these capabilities to the user.


  • Using a WordPress API function get_post_type_capabilities() instead of semi-hardcoded capabilities for access restriction checks (affects CPTs).
  • Changed: Taking role-based capabilities into account when creating cache entries for the Groups_User object. The new groups_user_add_role_capabilities filter allows to modify this new behaviour by returning false.
  • Added: groups_user_add_role_capabilities filter.


  • WordPress 3.8 compatibility checked.
  • Fixed: Access restriction options per post type when none is checked.


  • Added: Bulk editing (add/remove) of post access restriction capabilities.
  • Fixed: A typo in the Access Restriction column's tooltip text.
  • Fixed: Validation of access restriction capabilities when saved on options admin screen.
  • Changed: Users must now have the groups_access capability to be able to use the access restriction meta box on posts.


  • Added: Access restriction capabilities shown for enabled post types on overview screens.
  • WordPress 3.7.1 compatibility checked.
  • Fixed: Error caused by typo when obtaining group_ids_deep property for a Groups_User.
  • Changed: Replaced some __get calls by properties.
  • Added: Filter by access restriction capabilities for enabled post types on overview screens.


  • Added: Better group-assignment on the Users admin screen, allows to assign/remove multiple users to/from multiple groups along with a better UI.
  • Changed: Groups requires at least WordPress 3.5 now, although this only affects the group-action functionality on the Users admin screen, the restrict_manage_users action which is now used to render the UI elements needed, was introduced with WordPress 3.5.
  • Added: Extensions box in Options.
  • Improved: Groups section in user profile with added description.


  • Added: Groups > Groups > Add / Edit group screens, allow to assign/modify the capabilities assigned to the group.
  • Added: Groups > Groups screen, allow to assign/remove multiple capabilities to multiple groups.
  • Added: Groups > Groups screen, allow to delete multiple groups as a bulk action.
  • Added: Groups > Capabilities screen, allow to delete multiple capabilities as a bulk action.
  • Improved: Groups > Options screen, using searchable select instead of checkboxes to enable capabilities for access restriction.
  • Improved: In user profiles, using a searchable select to modify group assignments.
  • Improved: Reduced the footer text in groups admin sections.
  • Improved: Admin CSS to make better use of screen real-estate and more coherent appearance with the new UI additions.


  • Added the option to quick-create group and capability within the access restriction meta-box.
  • Added the option to show groups granting access per capability in the access restriction meta-box.
  • Added the quick-create field to the access restrictions meta-box which allows to create group & capability on the fly.
  • Added Selectize.js and using it in the access restrictions meta-box instead of checkboxes.
  • Improved the Groups > Options screen using a Selectize-based selection of capabilities that are enabled for access restriction.


  • Fixed duplicate postmeta created when saving access restriction capabilities for a post.
  • [groups_can] and [groups_can_not] now accept multiple capabilities separated by comma.
  • WordPress 3.6.1 compatibility checked.


  • WordPress 3.6 compatibility checked.
  • Fixed table appearance for capabilities and groups admin sections when there are no results.


  • Fix: Access restriction capabilities must be disjunctive.
  • Added: List of groups can be shown in user profiles on the back end and group assignments can be edited by group admins.
  • Improvement: Groups shown for users on the Users screen are sorted by name.


  • Fix: Under certain conditions with caching involved, capabilities were not correctly retrieved. Thanks to Jason Kadlec who reported the issue.
  • Improvement: Related to the above fix, improved the way how *_deep properties are retrieved on cache misses, resulting in slightly better performance.
  • Fix: Added a missing text domain.
  • Improvement: Added help icon when user has no access restriction capabilities.
  • Fix: Redirecting after group action in users screen to end up with a clean admin URL.


  • Fix: added filter hooked on posts_where motivated by pagination issues - the posts must be filtered before the totals are calculated in WP_Query::get_posts().
  • Improvement: modified the signature of the the_posts filter method in Groups_Post_Access to receive the $query by reference
  • Improvement: a substantial improvement on overall performance is achieved by caching user capabilities and groups
  • Fix: access restriction boxes showing capabilities that the user should not be allowed to set to restrict posts
  • Fix: resolve user-capability when a capability is deleted


  • Fix: using substitute wp_cache_switch_to_blog instead of deprecated function wp_cache_reset when available (from 3.5.0)
  • Fix: don't show access restriction meta box on attachments, the option is added with the attachment fields (3.5 uses common post edit screen but save_post isn't triggered on attachments)
  • Improvement: limiting choice of access restrictions to those the current user has
  • Fix: restrict access to edit or delete posts based on the post's access restrictions
  • Feature: added option to refresh capabilities
  • Fix: replaced use of get_user_by() (memory leaks on large user sets) with query & added batch limit when adding users to Registered group on activation


  • Fix: missing argument for meta box when saving a post
  • Fix: Groups conflicting with other plugins adding columns to the Users screen (in the manage_users_custom_column filter) thanks to Erwin who spotted this :)


  • Replaced call to get_users() with query to avoid memory errors on activation with large users bases.
  • Provided a default value for a method in Groups_Access_Meta_Boxes to avoid issues with other plugins or themes.


  • Fixed out of memory issues with large user bases on Users > All Users page. Thanks to Jason Glaspey who spotted the issue :)


  • WP 3.5 cosmetics



  • Fixed capabilities cannot be added or removed from groups in localized installations


  • Added users property to Groups_Group
  • Moved tests out of core folder
  • Fixed missing $wpdb in Groups_Group's getter
  • Added group filters on users admin section


  • Added feature that allows to show access restrictions depending on post type
  • Added support for access restrictions on Media
  • Fixed issue, removed access restrictions offered on Links


  • Added Spanish translation


  • Minor improvements on Options screen
  • Added show="users" option to [groups_group_info] shortcode which lists user logins for users in a group - rather experimental as it doesn't offer any sorting, pagination, linking or other options


  • New shortcode [groups_join group="..."] lets a user join the given group
  • New shortcode [groups_leave group="..."] lets a user leave the given group


  • Revised styles
  • WordPress 3.4 compatibility
  • Dropping support for WordPress < 3.3
  • Help uncluttered.


  • Reduced files loaded on non-admin pages.
  • Added Lithuanian translation.
  • Changed help to use tabs.


  • Access control is no longer restricted to the groups_read_post capability: now any capability can be used to limit access to posts so that different groups can be granted access to different sets of posts.


  • Added shortcode & API functions [groups_user_group] / [groups_user_groups] that allows to show the list of groups the current user or a specific user belongs to
  • Added shortcode & API functions [groups_groups]to show the site's list of groups
  • Class comments.


  • Reduced plugin admin footer.


  • Added safety & warning to test page.


  • Tested on WP 3.3.2


  • Multisite: Fixed (removed) conditions that would only make Groups act on public and non-mature sites
  • Multisite: Adding add/remove to group only on sites', not network users admin screen
  • Multisite: Added constraint in user_register hook checking if the user is a member of the blog


  • Added Groups menu to network admin
  • Added option to delete plugin data for all sites on multisite installations; removed option for individual sites
  • Improved activation and deactivation for network installs
  • Increases column sizes on capabilities table and fixes cut-off capabilities delete_published_pages and delete_published_posts


  • Fixed issues caused by an excessively long index for the capability DB table. Some installations wouldn't work correctly, showing no capabilities and making it impossible to add new ones.
  • Taking into account blog charset/collation on newly created tables.


  • Groups shortcodes now allow nesting.


  • Fixed admin override option not being updated
  • DB tables checked individually to create (motivated by case of all but capability table not being created)


  • Groups wouldn't activate due to a fatal error on WP <= 3.2.1 : is_user_member_of_blog() is defined in ms-functions.php
  • Added [groups_group_info] shortcode


  • Increased length of capability.capability, capability.class, capability.object columns to support long capabilities.
  • Improved admin CSS.


  • This is the first public beta release.

Requires: 4.0 or higher
Compatible up to: 4.3.1
Last Updated: 2015-8-28
Active Installs: 10,000+


4.5 out of 5 stars


10 of 26 support threads in the last two months have been resolved.

Got something to say? Need help?


Not enough data

2 people say it works.
0 people say it's broken.

100,1,1 67,3,2 100,1,1
100,2,2 100,1,1 100,1,1
100,1,1 100,2,2 100,1,1
100,5,5 100,1,1 100,3,3
100,1,1 100,1,1
100,1,1 100,1,1
50,2,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 67,3,2 100,3,3 100,1,1