Groups is a WordPress plugin that provides group-based user membership management, group-based capabilities and content access control. It integrates standard WordPress capabilities and application-specific capabilities along with an extensive API.


New Groups Restrict Categories and Groups Import Export.

  • Groups 404 Redirect allows to redirect visits to pages that are protected by Groups.
  • Groups Blog Protect restricts access to blogs based on group membership.
  • Groups File Access Groups File Access is an extension that allows to provide file download links for authorized users. Access to files is restricted to users by their group membership.
  • Groups Forums provides a powerful and yet light-weight forum system for WordPress sites.
  • Groups Gravity Forms allows to add users to groups automatically, based on form submissions.
  • Groups Import Export – An import and export extension for Groups.
  • Groups Jigoshop Groups integration for Jigoshop that supports memberships and subscriptions.
  • Groups Newsletters helps you to communicate efficiently, providing targeted information to groups of recipients through automated campaigns.
  • Groups Notifications allows to send automatic notifications to group members and the site administrator.
  • Groups PayPal – Sell memberships and subscriptions with Groups and PayPal.
  • Groups Restrict Categories features access restrictions for categories, tags and other WordPress taxonomies, including support for custom post types and taxonomies.
  • Groups Restrict Comments Pro This extension for Groups allows to restrict who can post or read comments based on a user’s group membership.
  • Groups Subscriptions is a subscription framework for Groups.
  • Groups WooCommerce Groups for WooCommerce is a WordPress plugin that allows you to sell memberships.
  • WooCommerce Group Coupons This extension for WooCommerce uses Groups and WordPress roles to limit the validity of coupons.
  • WooCommerce Groups Newsletters The WooCommerce Groups Newsletters extension lets customers subscribe to newsletters at checkout.


User groups

  • Supports an unlimited number of groups
  • Provides a Registered group which is automatically maintained
  • Users can be assigned to any group
  • Users are added automatically to the Registered group

Groups hierarchy

  • Supports group hierarchies with capability inheritance

Group capabilities

  • Integrates standard WordPress capabilities which can be assigned to groups and users
  • Supports custom capabilities: allows to define new capabilities for usage in plugins and web applications
  • Users inherit capabilities of the groups they belong to
  • Groups inherit capabilities of their parent groups

Access control

  • Built-in access control that allows to restrict access to posts, pages and custom content types to specific groups and users only
  • control access to content by groups: shortcodes allow to control who can access content on posts, show parts to members of certain groups or to those who are not members Shortcodes: [groups_member], [groups_non_member]
  • control access to content by capabilities: show (or do not show) content to users who have certain capabilities Shortcodes: [groups_can], [groups_can_not]

Easy user interface

  • integrates nicely with the standard WordPress Users menu
  • provides an intuitive Groups menu
  • conceptually clean views showing the essentials
  • quick filters
  • bulk-actions where needed, for example apply capabilities to groups, bulk-add users to groups, bulk-remove users from groups

Sensible options

  • administrator overrides can be turned off
  • optional tree view for groups can be shown only when needed
  • provides its own set of permissions
  • cleans up after testing with a “delete all plugin data” option

Access Control

Groups defines some capabilities of its own. The groups_read_post capability is used to restrict access to certain posts or pages to groups (and users) with that capability only.


  • Solid and sound data-model with a complete API that allows developers to create group-oriented web applications and plugins


  • All features are supported independently for each blog in multisite installations

Your opinion counts

You & Groups

Beta-testers and developers who need to integrate group-based features in their plugins and web applications: please use it and provide your feedback.


Feedback is welcome!

If you need help, have problems, want to leave feedback or want to provide constructive criticism, please do so here at the Groups plugin page.

Please try to solve problems there before you rate this plugin or say it doesn’t work. There goes a lot of work into providing you with free quality plugins! Please appreciate that and help with your feedback. Thanks!


Follow me on Twitter for updates on this and other plugins.


Content Access Control

Access restrictions on posts

On posts an pages (and custom content types) a new meta box titles Access restrictions appears. By checking Enforce read access, you can restrict access to the post to groups and users who have the groups_read_post capability. You need to assign this capability to a group and make users members of that group to allow them to see those posts.

Content visibility for members and non-members

The [groups_member] and [groups_non_member] shortcodes are used to limit visibility of content to users who are members of a group or users who are not members of a group. Multiple comma-separated groups can be specified.

Example: Limiting visibility of enclosed content to registered users.

[groups_member group="Registered"]

Only registered users can see this text.


Content visibility based on capabilities

The [groups_can] and [groups_can_not] shortcodes limit visibility of enclosed content to those users who have the capability or those who do not have it. Multiple capabilities can be given.

Example: Showing enclosed content to users who can edit_posts (standard WordPress capability).

[groups_can capability=”edit_posts”]

You can see this only if you have the edit_posts capability.


Integration in the ‘Users’ menu:

Users – group membership is managed from the standard Users admin view. Users are automatically added to the Registered group. You can add multiple users to other groups here and also remove them.

Sections in the ‘Groups’ menu:


Here you can:

  • add groups
  • remove groups
  • assign capabilities to groups


This is where you add, remove and manage capabilities.

Capabilities can be assigned to groups and users (1). These capabilities include the standard WordPress capabilities but you can also define additional capabilities for your web-application.

Groups defines some capabilities of its own. The groups_read_post capability is used to restrict access to certain posts or pages to groups (and users) with that capability only.

(1) Assigning capabilities to users is not integrated in the user interface yet but can be done through API calls.


Administrator override :

Administrator overrides can be turned off.

Permissions :

For each role these permissions can be set:

  • Access Groups: see information related to Groups.
  • Administer Groups: complete control over everything related to Groups.
  • Administer Groups plugin options: grants access to make changes on the Groups > Options admin section.

Testing the plugin :

A convenient option is provided to delete all data that has been stored by the Groups plugin. This option is useful if you just need to start from fresh after you have been testing the plugin.


Please visit the documentation page on shortcodes for up-to-date information: Groups Shortcodes


Download the Groups plugin on WordPress.


  • I’m running a class which has students in a number of tutorial groups, each run by a TA.

    I can see how to restrict access to one group or another at post time, but is there a way to let a TA filter posts by specific group? I.e. a TA might like to see a list of posts within lab #1 or lab #2….

  • (previous post seems to have vanished?)

    I have a website in which students are organized into groups, each of which is assigned to a teaching assistant. I’m trying to figure out a way that teaching assistants can get a list of posts filtered by student group, without the students having to self-identify via tag or category (they tend to forget to do this).

    Is that possible with this plugin?


    • Hi Karl Jürgen,

      (it was in the moderation queue)

      Rather than using groups to filter the posts, you would use categories. Groups is used to restrict access to content, but from what you have explained, you simply need to classify the posts.


      • Yes, sorry–somehow things didn’t show, then did after I’d reentred. Odd.

        Ok–so can’t do that with groups, that’s strictly restrictive. Pity–would be a good feature.

        We are in fact using categories to do that; the problem is, the initiative is on the user to identify the category and being students they often forget. If one could force a category by user…. I will look for that.

        Thanks for the reply!

  • Hi.

    I have 2 questions:
    1. after setting GROUPS_READ_POST to page all is ok, but when delete this from same page this filter is still ON !? What to do rather than disable plugin than page shows in menu again ?

    2. 404 redirect does not work if plugin W3 TOTAL CACHE is on … just first redirection is ok, but after that enter address of page again and it is shown and is menu again …

    Would like to buy File access but must set this working first …


    • Hi Matjaž,

      #1 If you change the permission and have object caching enabled it might be necessary to purge the object cache. You don’t need to disable the plugin.
      #2 Please check the following settings: Under Performance > Page Cache the option Cache 404 (not found) pages should be disabled and Don’t cache pages for logged in users should be enabled.

      Let me know if that helps please.


      • Hi, and sorry for long response ;-)

        #2 before the Cache 404 (not found) pages was disabled and Don’t cache pages for logged in users was enabled. After Don’t cache pages for logged in users was disabled this problem never came up again. Problem solved :) ( so both should be DISABLED )

        #1 is not related to W3 plugin. Even when W3 total cache was disabled, I still can not see page that had GROUPS_READ_POST and then removed … I can show this page to public now only if I disable Groups plugin :(

        What to do next to show this page to public again ?


      • Hello again.
        I’ve made new page that have problems with the same url name and same context and the problem still persists. When I activate Groups plugin this page is not visible to public – even new one. Please help what to do, this is not the page that needs to be hidden from public.


  • Ben


    I wonder if Groups would have conflict with another plugin “Capability Manager Enhanced”, because I’ve installed “Capability Manager Enhanced” to my WordPress.

    Thank u!


  • Ville

    I wonder how I can use groups shortcode for hiding one tap depending if user is in group or not?

    this is my code but it didn’t work for me.

    [groups_member group="Developer"]
    <li class="fa fa-barcode fpd-tooltip" title="” data-target=”.fpd-barcode”>


  • I installed groups and it’s pretty clear how to let users post restrictions etc.

    Is there a way for users in a group to have their posts automatically restricted according to their group, or is there some other way we can set things up so certain specified users can easily view the posts of others belonging to a specific group (say by a group filter on the posts admin page?)


  • Jeroen

    I’m configuring this plugin currently, and so far it’s working out okay for me. However, one thing I can’t seem to figure out: how do I restrict access to the feeds? If unauthenticated users navigate to links like:


    They still get to see the content. Or is this something my theme (GeneratePress) should be handling? In any case, I can’t seem to find any place in Groups, GeneratePress, or WordPress itself to secure or disable the feeds.

    Any comment would be appreciated.

  • Thanks for the hints. Still not quite what I had in mind (I wanted to force different categories depending on the group) but I can probably adapt one of these somehow. Appreciate your help!

  • clementp


    Thank for your plug-in. Can you help me to understand if we can use a “capabilitie” which says : “see and download digital product from a woocommerce shop” ?

    My goal is taht a user from one group can see products like all the users but can see too a button to downlad digital files .

    Best regards.


  • Mike

    Hi, great plugin but when I put a post on restricted access (restricted to specific group names), it doesn’t show up anywhere on blog archive pages, search pages etc. It’s effectively hidden. Can you share how to:

    1) make all posts show titles, featured image, excerpts (programmatically, not shortcodes) even if restricted access is enabled
    2) anything needed to do to ensure all content (even restricted posts) can still be crawled for seo rankings

    Thanks heaps.

    • Hi Mike,

      #1 See the Groups_Post_Access class for filters used please. You can modify/override these according to what you want displayed. If you are going to do that, it would be great if you share your findings, I’d be interested in even enhancing Groups to incorporate some of them – if you have ideas around the requirements we can discuss them.

      #2 What’s protected really isn’t visible but allowing excerpts and maybe reduced content for protected content would be an option?


      • Mike

        Thanks for the ideas Kento. I’m a rookie programmer, so not sure how to do this. Hopefully is someone else figures this out, they can post here also. Cheers

      • Mike

        Hi Kento – just trying to interpret #2 above again. For example, on a blog with 100+ posts and previously good click-through rates from google… if we use Group controls… we understand all of that search optimised content would then instead be ‘hidden’ from google… so it could cause a sharp decline in impressions and website visits. When you say ‘what’s protected isn’t really visible’… is that the kind of impact you mean? If there’s any way to solve this major issue, so we can still have all the ranking power, but somehow protect access to human readers (versus search engines) when they click on posts, that would be amazing. Thank you!

        • Hi Mike,

          You could actually use conditional blocks [groups_member group="Premium"]Premium content within the post ...[/groups_member] to enclose the main content, i.e. leave the posts unprotected which would also leave the excerpts fully available, but enclose the content in a post within a conditional block.

          That way you retain the posts visible but only hide the extended content from those who are not authorized. I hope that helps :)

    • Hi Mike

      You could actually this with a few lines of code in your functions.php, see more here:

      I’ve suggested a little plugin/extension above: where the access restriction is removed from the post after X days (maybe based on group type, so that som group types is locked down X days and another group is locked down Y days). I think that would be a fantastic feature.


  • Mike

    Hi Kento – disregard the last. Re 1, ideal requirements would be options within the plugin settings to control whether this applies to single post pages only, setting for a custom 404 login page URL to be setup (something with ‘login to read article’, which then redirects them to their desired article after login), and re 2) the fixes in 1 might suffice, but it’d be awesome to allow excerpts, excerpt length and featured image still being displayed (or other content if featured image replaced by youtube thumbnail etc). Thanks for your help! This is a great plugin and with more features like above, I’d happily pay for it.

    • Hi Mike,

      Re #1 have you seen ? This should cover what you describe …
      #2 As it currently is, we can’t do this via the administrative user interface and though it is possible to control these aspects through theme templates using the API, to have complete control over it (protect excerpt or complete post only, control attachments etc.) without any need for coding would be awesome.

      Many thanks for providing your feedback on this, I’m certainly going to take it into account and also appreciate the suggestion for a paid version. I don’t have any plans on converting Groups into a paid plugin but there also is the need to support it in a sustainable way through paid extensions, so I think it could make sense to offer an extension with a more fine-grained control. The categories and comments extensions for Groups already fit into that category, at some point it might even be interesting in offering a tool that combines them.

  • Here is a note that may be helpful to others.

    I saw some advice elsewhere recommending the use of htaccess to enable browser caching. I tried it, but it understandably appears to interfere with Groups, as the cached page shows up in the browser, rather than the one Groups wants to show after the user has logged in/logged out.

  • Hi, hope ya’ll are swell!

    I want to hide pages from my registered subscribers, the pages should not appear in the menu, is there a capability that non-subscribers have that I can configure in the Access Restrictions meta box, or, is there a way to create a group that all non-subscribers will automatically be associated with, then I can create capabilities for them and use those in the Access Restrictions meta box?


    • antonio

      sorry, you can’t do it with metaboxes. Please have a look to this conversation.

      • Thanks Antonio

        Menu Item Visibility Control didn’t meet all our requirements for a multi tiered subscription site using WooCommerce, but thanks, I’m sure I will use that on a simpler site.

        We ended up, well my dev actually :P, ended up writing a rule to exclude all group access restrictions for logged out users. Thankfully it wasn’t much trouble, I was just trying to see if perhaps I could save him the time.

        Where is the best place to share a snippet for other people?

        Kind regards,

  • Hi!

    I want to sell subscriptions with WooCommerce + Groups, but I need the drip feed functionality.

    It is possible to have this functionality in some way with the Groups plugin?

  • yuval

    Hi and thanks for the plugin!

    1. Is there a way for a user who is not the Admin to create a group inside my wordpress website environment (By clicking a button like “Create A Group”) and manage it?


    • Hi, thanks for the suggestion, currently it’s not possible but added as a feature request along with other fine-grained access restrictions.

      • yuval

        Thanks kento for the quick response!

        Basically I have a wordpress site with Marketify Theme and EDD plugins, and I want logged in users to be able to create their own groups where the members of such a group can upload content that will be available or cost-free only for the group members.
        What do you think? will your plugin will be compatible with my requirements?
        If your Plugin is not what I’m looking for, can you suggest other plugins that could match my site functionality?

  • Bruno

    Hey there..

    I use your Enterprise version for Affiliates. Good Job guys! Pretty well-coded, no issues with other plugins!

    I´m really interested to purchase Groups for WooCommerce and your Subscriptions-Extension, but from an earlier question I know that they are not compatible with bbPress and BuddyPress.

    But this is exactly what I need…

    Here is my Question now: I use also the WooCommerce extension named: Product Support.

    This extension gives the possibility to create a bbPress-forum or a BuddyPress-Group just for customers that purchased a special product.

    If it is possible to combine this extension with your subscriptions-extension, it´s a big solution for monthly-membership-groups with BuddyPress.. Do you know anything about this combination?

    I´m sure it´s possible to open a group on this way, but it is possible to close them automatically if the subscription is ending?

    I know it´s a third-plugin solution, but I think it can be a big deal for you to cooperate with this plugin-author.. It´s from woothemes, too..

    Thanks for your response : )


  • Yves

    Hi there,

    First thank you and congratulations for the great Groups plugin! I have enjoyed using it to protect pages “by hand” for groups of users through the ultra-simple UI you provide in the WP backend. But I have now to go a step further by doing things programmatically in php templates and I am afraid I need some advice.

    What I was conveniently doing by hand was, for a set of manually create pages :

    – define both a pair group-capability to protect the pages
    – assign users to this pair for them (only) being able to read the pages

    I now have to do the same in php for a set of pages created programmatically. I understand how to do the second step (assign users to group) thanks to the Groups_User_Group::create class. But I am lost in the API for achieving the first step, which I understand should result in a list of several sub-steps like:

    – creating a group
    – creating a capability and pairing it with the group
    – protecting the pages with the group/capability pair: is it just filling up a groups-groups_read_post custom field?

    I am rather a beginner than an expert in php. Do you have some code examples to help me out? Or some more precise advices on how to use the API for achieving these steps?

    Many thanks in advance!

  • Dennis

    Hi, love this plugin. I have one question: is there a way to give a standard “access restriction” for all types of posts (post, page, media, package), so front-end uploaders don’t have to putt it in manual and they won’t forget to set these “restricions”.


    • antonio

      you could create your own action when a post is saved, e.g.:
      add_action( 'save_post', 'my_save_post' );
      function my_save_post( $post_id ) {
      add_post_meta( $post_id, Groups_Post_Access::POSTMETA_PREFIX . Groups_Post_Access::READ_POST_CAPABILITY, 'your_capability' );

      If your add this code in your functions.php file and change ‘your_capability’ to your capability, this should work fine.

  • Hi, very cool plugin!

    I’m trying to create a frontend UI that allow registered user to create new group.
    Any suggestion about where to start?

    Thanx in advance

  • Craig

    Great work on the Groups Plugin Kento!

    I’m trying to put together a proof-of-concept where I’ve got Windows Azure Active Directory (WAAD) users coming into an Azure hosted WordPress site (using to hook up the authentication and profile information).
    I’ve got that much working OK, I’ve got your Groups plugin installed, but I’m keen to find a way to map the Auth0 group membership information onto the groups I have set up in the Groups plugin.
    Ideally something simple like: If a WAAD user is a member of a WAAD group of the same name as a WordPress Group, then automatically give them membership in the WordPress Group.

    I know WordPress is already sucking various bits of user profile information out of the Auth0 user profile, so the groups property must be accessible.

    Is this doable?


    • Hi Craig,

      Many thanks for the praise ;)

      I assume you’re using the Auth0 plugin – it has a method insertAuth0User(…) which adds auth0_id and auth0_obj to the user. If you hook on the user_register action you can check the user object and assign the appropriate group as shown in the Examples.

      I hope that helps, Cheers!

      • Craig

        Thanks Kento. It’s my first dive into modding WordPress, but I’ll see if I can figure it out.

        I’m thinking of attaching it to wp_login since group memberships could change on a daily basis.

        I’ll post the solution back here if it’s not too complex.

        • Thanks Craig, it would be great if you can share your solution, might be useful for others, too :)

          • Craig

            OK, I’ve figured out the code (see below), but I’m just struggling to get it firing during the WordPress login process. I’m trying to get help from the Auth0 forums, as there’s suspicion that Auth0’s login is taking over the entire login process, so the WordPress add_action(‘wp_login’,…) never fires.
            In the mean time, I have it running successfully in the footer.php file :) It probably needs session flag so that it doesn’t run on every page load, just the first time for a session.

            Please excuse the formatting, it’s a bit of a jumble.

            (edited – code moved to this Gist Craig’s Auth0 integration with Groups)

  • Hi Kento,

    I quite confuse on the rule:
    You need to register or log in.
    [groups_member group="1,5"]
    registered message content.

    On “You need to register or log in.” phrase, Can we hide this message after they sign up or log in?


    • Hi Ron,

      You’re missing a closing shortcode tag on that. It would be:

      [groups_non_member]You need to register or log in.[/groups_non_member] … followed by the rest.


  • Hi – we are using groups in conjunction with WooCommerce Sensei and BBpress. We are having a problem where the forums in BBpress that are protected with Groups work just fine, then randomly, certain forums members can only see the sticky posts, but nothing else. The fix is to set the permissions on the forum to public and then immediately back to private. This seems to clear the problem, but we cannot isolate what is causing that. Looking to see if this is within Groups and how to prevent this. Any ideas?

    Thank you,

    • Hi Chris,

      Do you have a testing version of the site with debugging enabled to have a look? Another option would be to use Groups Forums instead, although I’d be interested to see why this is happening on your site using bbPress so we can solve it for that combination with Groups. If you can give access to the testing site please forward credentials to support at itthinx dot com with a link to this conversation.


      • Hi – sorry for the very long delay in getting back to you. This is still an issue. Yes we have a staging site that I can give you access to. It is an exact replica of our main site. Please email me directly and I can send you the credentials.

  • Ashley

    I am using the woocommerce groups plugin and was curious if I could link different groups to different variables within one product?

    If anyone knows, it would be very helpful. Otherwise, this plugin is working great.


  • loic

    When I activate the “Groups” plugin, I get a Links menu which appear in the admin bar.
    What’s this for? For external links ? I don’t know what this menu deals with “Groups” plugin.
    I can’t find any documentation.
    Is there a widget to display these links in a widget?
    Anybody could help me please?

  • Hi,

    Thanks for the great plugin.

    I am having a problem protecting a BuddyPress generated page. /members

    I am using:
    Groups 404 Redirect
    Groups for WooCommerce

    I have successfully setup groups such that it is protecting pages. For example, I have one group (no_one) which only administrators belong to, that is successfully protecting the page /blog.

    For some reason it does not protect the /members page.

    Any thoughts on what I am doing wrong or a possible solution?

    Thanks for the help!

    • Hi Michael,

      I’m getting the same thing on a test site, it seems that the Members page does not ‘go through’ the normal WordPress loop to render its content and the access restrictions are bypassed. The page content is rendered using this file, maybe you can override that in your theme or use one of the hooks to provide alternative content for those who are not logged in?

  • Nigel

    Is there a way of hiding most of the roles shown in the Groups? I don’t need most of the WP stuff as all I’m doing is assigning specific groups to specific pages of content. Surfing through the seemingly endless lists of capabilities is not much fun, so if there’s a way of hiding some, that wold be wonderful!
    Sorry if this has been addressed elsewhere on this page, but I’ve spent a long time scrolling through questions without seeing anything like this.

    • Hi Nigel,

      Groups doesn’t work with roles, you can’t hide any roles with it. Regaring the capabilities, you can use the filters on top of the admin section and it will limit the results displayed to those matching.


  • Hi,
    Can you please let me know if I can achieve the following using the Groups plugin (and probably the Groups Restrict Content Categories extension)?
    I’d like to create a public website and have some restricted content that’s accessible after registration and logging in. Registered users will be grouped by ‘organisation’ AND by ‘program’, i.e. they need to belong to more than one group (e.g. Organisation-A, Organisation-B and Program-1, Program-2, Program-3). Each user would be part of ONE organisation group as well as ONE program group (e.g. Organisation-A and Program-2). I’d like to restrict access based on both grouping criteria and also REDIRECT users to different pages based on the groups they belong to on log in. I’d probably create separate pages for each combination and most likely I’ll only have pages, but no posts in the logged in area.
    Logged in users should be able to comment on certain pages and they may need to be able to upload files (Word or PDF docs).
    Further to this, I don’t really need / want users to have access to their profile or the profile of other members – basically they shouldn’t see the WP admin area at all (but this may not be related to the Groups plugin).
    Please let me know if I can do the above with the Groups plugin (and any extensions I may require).

    • Hi Peter,

      Currently you can restrict by group capabilities, I’d suggest you try out the combinations that you intend to use taking into account that you can’t directly say “restrict access to this post based on group membership with groups A and B”.

      Regarding the redirects, with Groups 404 Redirect you can redirect to a common page, it doesn’t support combinations like the ones you suggest. You’d have to derive a customized version for that.

      Profile restrictions related to the back end aren’t controlled by groups, you’d need to use an additional plugin for that.


  • Matt

    Using Groups and Groups 404 redirect, If a visitor tries to access a page that is protected by Groups they are re-directed to the sign up/login page. After the visitor logs in, how can I have then re-directed back to the referring URL/original page they were trying to access?
    Any help would be appreciated.

  • Hi there. Once I have let someone sign up for a group, is there a way to show which pages/content they have access to? In other words, I know I can display that a user is a member of the “Yellow Group,” but that’s meaningless, really, unless it also links to the page(s)/content their Yellow Group membership affords them. Is there any automated way to do this? The site for which I’m using it sells access to streaming videos, and there will be 40-50 groups when it’s completed.

    I’d love to provide a page with links to the videos for a signed-in user.

  • I just downloaded the Groups Plugin. I have Affiliates Enterprise. Currently I have about 2200 Affiliates in my Database. I have a WP Capabilities setup putting them into 2 groups.

    Super Affiliate

    Obviously Super Affiliates earn more money based on a certain criteria. When I activated this plug in, it did not pick up the WP capabilities groups I had already created. I understand that I need to assign people to the groups plug in you created under the regular wordpress groups.

    My issue that I am having is how do I….

    1. Give a default referral rate to the Affiliates group of 20% but give Super Affiliates a referral rate of 40%?

  • I have a better question that can clarify what I am trying to do.

    I would like to do this:

    20% as the default referral rate
    3% on Level 1
    2% on Level 2

    Super Affiliate:
    40% as the referral rate
    6% on Level 1
    4% on Level 2

    The purpose of this is to encourage an affiliate to become a Super Affiliate and they do this by purchasing our product.

    As of right now I am doing this manually and it takes a lot of work on my part, I wanted something I can use to make this automatic, by assigning someone to this group Super Affiliate, it automatically will change the rates for them……

    Will this plug in help me accomplish this?

    • antonio

      if you are using Woocommerce Integration you can use Affiliates Groups plugin.
      To apply different commissions to levels, you need to enable “Level rates are relative” in Affiliates->Tiers, and recalculate percentages. E.g.
      Group ‘Affiliate’ value: 0.20 (20%)
      Level 1: 0.15 (15% of 20% = 3%)
      Level 2: 0.66 (66% of 3% (level 1) = 2%)

      Super Affiliate:
      Group ‘Super Affiliate’ value: 0.40 (40%)
      Level 1: 0.15 (15% of 40% = 6%)
      Level 2: 0.66 (66% of 6% = 4%)


  • Do you have a way or a shortcode to display the names of the members of a particular group?

  • Chii

    Is it possible to have front-end users create their own groups, with the option of the admin approving on the backend, instead of admin having to create the groups.

    • Hi, currently you can only allow them to join specific groups using the [groups_join] shortcode. It would be possible to derive one from that where you can have the user indicate the group name from a field, you would have to implement that. Thanks for the suggestion, I’ll take it into account.

  • Chii

    Also, is Groups compatible with bbpress for forums?

    • Give it a try, there are some hooks that bbpress defines which Groups also defines, but it can work depending on what your requirements are. Also note that there is Groups Forums which is an extension for Groups.

  • Ed

    Hello, I need some urgent help.

    I had certain pages blocked using GROUPS plugin but decided to now open those pages to the public. But no matter what I try, the pages could not be viewed by unregistered user — they get 404 page not found error. So I deleted the restriction on each page (this didn’t work), so I deleted each capability and group (this didn’t work), so I deactivated the plugin (this didn’t work), so I erased all data in settings (this didn’t work).

    Finally, I just deleted the entire GROUPS plugin and that worked; unregistered users were able to view the pages. BUT, I need GROUPS plugin since I need other pages blocked. So I downloaded a new instance of GROUPS plugin again and activated it and that brought the 404 problem back. If I delete plugin, unregistered users can view pages fine but if I install a new GROUPS plugin, problem returns.

    This is driving me crazy. There must be some traces of the GROUPS and capabilities somewhere!

    How can I fix this? PLEASE?!

    • Ed

      To further expand on this, it looks like certain sub-directories are running into this 404 page not found error. For instance, – works totally find for unregistered users – none of these sub-directory pages are displayed. Only 404 is shown. – this sub-directory doesn’t work either

      • Ed

        I also just tried to access these sub-directories as a register user and still got 404 error. Even registered users cannot see these pages!

        • Ed

          Okay, looks like I was finally able to solve this issue. Turns out there was traces of “groups-groups_read_post” meta-key being left in the WP database for my posts/pages even with the plugin erased completely. For future reference if anyone is having this type of issue, here’s what I did to fix it for my site:

          REMEMBER TO BACKUP WP and DB before doing this.

          1) With GROUPS plugin activated, go to dashboard menu > Groups > and check ON delete all groups plugin data upon deactivation.
          2) Go to plugins > deactivate groups plugin
          3) Delete groups plugin
          4) Go to PHPmyAdmin and in your WP database, erase (drop) all tables that are remaining named something like this WP_groups_xxxx (WP can be something else depending on your database name)
          5) Then, search the rest of your DB for this meta-key: groups-groups_read_post
          6) Erase all that have this meta-key assigned.

          This is how I erased all traces of the previous GROUPS plugin that was causing my site issues. After doing all that, I reinstalled GROUPS and everything was working perfectly after — no more 404 errors or page not found for basic pages.

          Hope this helps!

  • I have followed all the directions in the images on

    Once I have all the settings set up correctly and the plug in installed, I do not see a groups option under the Affiliates Menu. Even when I look at each of the products I do not see the groups listed there I only see what I can give the product as the default referral rate.

    I have screen shots I can email you to show that the groups do not show up as an option under each thing.

  • I would like to know how to allow unregistered users to view my WooCommerce Shop page. It is my understanding, that once they order they are prompted to register. However, without being able to access the shop page, they cannot order and therefore register. I feel that it is important for customers to be able to see the shop page before registering as it might motivate them.

    I found this somewhere:
    “You can identify non-members by checking for their membership with the Registered group. On this page you will find an example on how to check if a user belongs to a “Foobar” group. Exchange “Foobar” with “Registered” and you can work with $is_a_member – it will be true for members and false for those who are not.”
    I am not sure if this would solve my problem or not. I don’t like messing with the functions.php (is that where this would go?) unless I am sure about the result.
    Any suggestions?

    • Hi Julie,

      Simple visitors are able to view your shop page by default. There is nothing special you need to do to allow them to view it. I wrote a post some while ago on How to hide the WooCommerce Shop page because that indeed requires specific changes to be done.


      • Hi Kento,

        Thanks for responding! I finally figured it out with a little help. Below the product data section on the shop page was a custom field with capabilities in it. (No idea where that came from.) Once I deleted that custom field, the product showed up on the shop page.

  • Ed

    No matter what I try, I cannot get traces of GROUPS capabilities to delete from certain subdirectories; they all show up as 404 error for logged in users or unregistered users. I tried deleting plugin, erasing capabilities, erasing groups, removing all restrictions, deleting all data (setting checkbox), erasing and reinstalling brand new GROUPS plugin. Nothing works! Please help to get my site in order, thanks!

  • Avaer

    When Groups plugin is enabled, setting DISALLOW_FILE_EDIT in wp-config.php has no effect – administrators can still edit files.

    • No that’s not correct. Go to Groups > Options and uncheck the option Administrators override all access permissions derived from Groups capabilities. please.

      • Avaer

        Thank you for your response.

        Now, am I getting this right? This setting ( is completely useless? It’s weird, that a setting in a database, that can be changed in the admin panel, can override a hardcoded setting. But I now understand, that it is by design of WordPress, and not a Groups plugin flaw. So the only reliable solutions is to keep proper files and directories read-only.

        • Hi Avaer,

          The flag has its appropriate purpose, to disable file editing through the administrative interface. Groups’ administrator override has the effect of granting the permissions that the flag removes. As you want to use the flag, keep the administrator override turned off under Groups > Options. You don’t need to have that enabled on a production site.

          I hope that makes it clearer :)

  • Kitt

    Hi Kento,
    I just downloaded your pluggin and gave it a swing.
    Off the bat I thought I’d highlight a bug.

    If we create a group with capabilities, assign these capabilities to a page and then delete the group/capability, the access restrictions options in the Pages screen still show all deleted capabilities.

    On further inspection these options are pulled in from the wp core options table. So I assume that we are not updating the option on the delete function.

    You may have caught that already but if not, there it is.


  • Sjoerd

    Hi Kento,

    I have created two groups.

    – Basic
    – Premium

    When a user buys one of these packages they are assigned to the specific group. That’s working fine. But I like them to be assigned to a specific user role as well. Is there a way to do this?

    Hope you can help, thanks!

    • Sjoerd

      Hi Again,

      Is it possible to display the remaining days a user is member of a group? For Premium I have three different options.

      – 1 month subsciption
      – 3 month subsciption
      – 1 year subsiption

      Is it posible to echo the days remaining? Like ’52 days Premium Membership remaining’.

    • Hi Sjoerd,

      I assume you’re referring to Groups WooCommerce. The extension integrates with Groups and allows to do the group membership assignments but it is not intended to do that with roles.


  • EdRandom

    Hi, I’m working on a WordPress 4.x site with the latest Groups plugin – I love it, but I’m struggling with the following:

    Most of the site will be made up of pages / subpages, with few posts.
    The Groups plugin allows me to enforce read access quite nicely.

    I also need to restrict write access – only specific groups/users should be able to edit specific pages.

    Write access in WordPress appears to be an all on/off setting, and it’s too error-prone for our users.

    Ideally, I would want the admins to set up the basic page (menu) structure, and give edit permissions to these (sub-)pages to the appropriate users/groups.

    Is there a best practice, and is it even possible with Groups?

    P.S. This request seems similar to comment 340543.

    • Hi,

      Many thanks for describing your case, this is indeed similar to other requests like Tevya’s, where access restrictions to edit/write posts would be useful. I also agree that the standard WordPress restrictions which can be used to edit a post (or any post type) are insufficient when we need to restrict who can edit posts on a per-post basis. The good news is that I’m already working on a solution to this based on Groups – I can’t give an ETA on this yet though. If you’d be interested in beta testing, please let me know. I always appreciate direct feedback from real cases where the plugin is deployed.


  • David

    Hi there.

    I use the plugin to manage my pages access. it work fine but I have a question. If I set a restriction to a page, there is a way for this restriction to be applyed on all subpages without having to set manually this restriction to all of them ?

    Thanks !

    • Hi David,

      Thanks for asking, currently you would have to apply the restrictions to all sub-pages individually, but the idea is interesting and I’ve taken note to consider it.


  • Dave

    Is there any way to limit the time someone is assigned to a group? For example – I sign up for the website. After my user is approved (and assigned to a group), the duration of that membership should last 1 year. After 1 year, the membership to the group expires?

    I know that WooCommerce Groups can sort of do this, except I don’t want to charge for membership. Any ideas how to set time limits to group membership without having them go through a checkout process via woo commerce?

    • Hi Dave,

      With Groups for WooCommerce you can also use products free of charge, the system will do the assignments based on time-limited memberships as with ‘normal’ products.


  • Chris Martin


    I am currently setting up Groups and it looks like I will be making several purchases to set up as Woocommerce membership and affiliate system. I am currently having a formatting issue I am trying to resolve:

    I am using the following [groups_can capability="yes"]Yes[/groups_can] and [groups_can_not capability="yes"]No[/groups_can_not]

    The html output I am getting is as follows:


    If I remove the from the shortcodes I get:


    I have disabled wpautop in my functions file but cannot figure out how to stop the addition and tags being added?

    Many Thanks

  • Chris Martin

    Hi… my html was removed in the previous comment…

    I am currently setting up Groups and it looks like I will be making several purchases to set up as Woocommerce membership and affiliate system. I am currently having a formatting issue I am trying to resolve:

    I am using the following [groups_can capability="yes"]<h3>Yes</h3>[/groups_can] and [groups_can_not capability="yes"]<h3>No</h3>[/groups_can_not]

    The html output I am getting is as follows:


    If I remove the <h3> from the shortcodes I get:


    I have disabled wpautop in my functions file but cannot figure out how to stop the addition <p> and <br/> tags being added?

    Many Thanks

    • antonio

      this is not a problem with Groups. You can try to add to your functions.php file (be sure you are editing in the active theme):
      remove_filter('the_content', 'wpautop');

  • John Padget


    I have the groups and groups 404 plugin. I want all users to be able to see my site navigation menu in full but when they click on a link that has members access it redirects them to my registration page and tells them the page they are trying to access is members only.

    I have set up everything and it works fine except the the menu items are hidden for non members. I thought I had found a way around it by replacing the menu items as links in the navigation but the 404 doesn’t redirect the link from the navigation. If I type the address of the hidden page in the address bar when logged out it redirects to the my registration page perfectly.

    I’d like to be able to keep my full navigation visible so that users now the benefits they are getting for becoming a member. Help?

    • antonio

      you can add in your functions.php file:
      remove_filter ( 'wp_get_nav_menu_items', array( 'Groups_Post_Access', 'wp_get_nav_menu_items' ), 1, 3 );

  • Hi, i have some comment . It will be helpful add functionality blocking conntet after more tag automatically.

    • Many thanks for the suggestion, this would be possible if we can restrict access to the whole post but let visitors view the excerpts. Work on that is in progress.

Leave a comment

Your email address will not be published. Required fields are marked *


Please follow the Support guidelines.

Premium Support is available for customers in the Forums.