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.


  • See all related Premium Extensions for Groups in our shop.
  • Groups Drip Content is used to release content on a schedule. Content dripping can be based on user account creation, group memberships and specific dates and times.
  • Groups Restrict Categories features access restrictions for categories, tags and other WordPress taxonomies, including support for custom post types and taxonomies.
  • Groups WooCommerce Sell Memberships with Groups and WooCommerce. Groups WooCommerce grants memberships based on products. It automatically assigns a customer to one or more groups based on the products ordered. Use any payment gateway that is supported by WooCommerce, including PayPal, Stripe and many others. Groups WooCommerce also integrates with WooCommerce Subscriptions for a highly flexible membership solution.
  • WooCommerce Group Coupons This extension for WooCommerce uses Groups and WordPress roles to limit the validity of coupons.
  • WooCommerce Product Search is the essential extension for every WooCommerce store. It provides the best Search Engine and Search Experience for WooCommerce and is compatible with Groups and its access restrictions on products.
  • Groups Import Export provides import and export facilities for Groups. Users can be imported and assigned to groups, users can be exported in bulk.
  • 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 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 Restrict Comments Pro This extension for Groups allows to restrict who can post or read comments based on a user’s group membership.
  • 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.

2,679 Responses to Groups

  1. Arturol July 13, 2012 at 11:45 am #

    WooCommerce is being used in a subfolder not subsite.
    I have my main page
    Groups WooCommerce is being used at a different address,
    I have another address in the network where I intend to have the different groups
    My question is, how do I automatically assign group memberships (from to a page that belongs to a different address ( in the network?
    Can you help?

    • kento July 13, 2012 at 12:16 pm #

      In that case, do you mean you have two different sites handled by independent WordPress installations that happen to sit on the same domain? If that’s the case then you need to apply a solution like I explained here. What I don’t understand is why do you want to have WooCommerce on one installation to sell group memberships on another installation? It would be straight-forward if you just had WooCommerce on the domain where you want your groups, which is how the whole thing is supposed to be used anyway.

      • Arturol July 14, 2012 at 3:23 pm #

        Hi Kento!
        I have now move the woocommerce solution to the main site but I get the following bug.
        When I go to checkout page the payment option does not appear.
        I get the following message, so the payment option does not show.

        “YOUR ORDER:
        You do not have permission to edit this post.”

        In order for me to see this payment option i must login first. How could I fix this?

        • kento July 17, 2012 at 9:54 am #

          ” … permission to edit this post.” looks like the order confirmation link is messed up?

  2. Michael July 11, 2012 at 4:08 pm #

    Did you know? – – you’re getting famous… πŸ™‚

    • kento July 12, 2012 at 9:09 pm #

      Cool πŸ™‚ Love to see it put to good use.

  3. Arturol July 11, 2012 at 1:56 pm #

    Hi Kento and thanks for your reply!
    I could not find the right information I need.
    I have my main page

    Groups WooCommerce is being used at a different address,

    I have another address in the network where I intend to have the different groups

    My question is, how do I automatically assign group memberships (from to a page that belongs to a different address ( in the network?

    Can you help?

  4. Arturol July 8, 2012 at 1:30 pm #

    Hi Kento and thansk for the relpy!
    I have read the links you sendt to me.
    What I mean is for eaxmple.
    I have three differente webpages and and

    The plugin is installed at
    I want the to restrict access to the other to sites that they do not have the plugin insttalled, and
    Is this possible?, to restrict access from one domain to to other different domains? I could not fine an answer for this.

    • kento July 10, 2012 at 1:24 pm #

      For a subsite, as the users are managed from the main site, you can recreate groups you want and assign them accordingly. If the site is independent though, one possibility is to create a service that for example accepts API calls over HTTPS or SSL and allows to ask for group membership by username on the main site. Obviously that’s quite a complex thing to do, so the answer to this is yes it’s possible, but would it be worth the effort?

  5. Artur July 8, 2012 at 7:16 am #

    Is it possible to sell memberships that grant access to different web pages, subdomains and blogs?
    Groups, Groups Woocommerce, WC Subscriptions?

  6. RJ July 6, 2012 at 5:41 am #

    Is there any capability yet to show/hide menu items for specific groups?

    • kento July 6, 2012 at 9:03 am #

      Basically yes and implicit, create a capability, assign it to a group, restrict access on page or post and it will be shown only to the group.

      • RJ July 6, 2012 at 2:41 pm #

        Perhaps I wasn’t clear or I do not understand.
        I want to show a link in the actual menu for a specific logged in group and hide the link for all others.

        • kento July 6, 2012 at 3:01 pm #

          You mean menus on front or back end?

          • RJ July 6, 2012 at 3:52 pm #

            Menus on the front end for visitors.

            • kento July 6, 2012 at 4:47 pm #

              If you’re adding the menu item from Appearance > Menus through the Pages panel for example, given that the page has access restricted by one of Groups’ capabilities, then the menu item will only appear if the user belongs to a Group that has that capability. That holds if the theme respects the access rights. If you are using custom links then it’s independent and the menu item will be added without regard to the restrictions. In that case it will appear, but the page itself won’t be accessible. You can try that yourself, just add a page, restrict access, add the menu item once through the Pages panel and once through the Custom Links panel.

          • RJ July 6, 2012 at 7:11 pm #

            Great! Would this also work for categories added from the categories panel assuming the category was restricted to the group?

            • kento July 8, 2012 at 11:47 am #

              As you can’t restrict access to a category that wouldn’t work. You would have to restrict access to the individual posts in that category.

  7. Nathan Parikh June 25, 2012 at 4:53 pm #

    I’m trying to allow for end users on my site to dynamically create and/or associate themselves with a group using a form on my site.
    So when a user fills out the form, they will either choose to be associate with a current group, or be given an option to create a new group.
    Is this possible?

    • kento June 25, 2012 at 11:07 pm #

      You mean something like clicking a button to join a Group?

      • Nathan Parikh June 25, 2012 at 11:09 pm #

        Correct. Basically they click submit and either
        1) They join the selected group
        2) If the group does not exist, it will be created with the name they type in.

        • kento June 25, 2012 at 11:13 pm #

          #1 has been asked for several times now, it might end up being part of it but it’s not yet available as e.g. a shortcode OOTB; it’s definitely noted as a suggested enhancement by now
          #2 I see where that’s pointing at and see the worth of it, not part of it yet either though

          • Nathan Parikh June 25, 2012 at 11:14 pm #

            Gotcha, thanks for letting me know!

            • kento June 25, 2012 at 11:16 pm #

              Thanks for suggesting these, always appreciated and enhancements are based on what is needed by users.

  8. JonB June 24, 2012 at 2:25 am #

    Sorry, the blank line after [group_member group=”read”] is supposed to be a standard WordPress “readmore” tag.

  9. JonB June 24, 2012 at 2:22 am #

    Just downloaded and installed Groups. Brilliant work. I have a questions regarding the use of “more” or “read more” in posts that have Groups shortcodes in them.

    What I want to do, it display an error message is the user is not a member of a group. I’m using:

    [group_non_member group=”read]
    Sorry, you need to be a member to read more.

    [group_member group=”read”]

    the rest of the content of the blog post.

    What I’m experiencing is that the WordPress “read more tag is displayed regardless of the fact the user is a member of a group or not. If I’m NOT a member, and I click on “read more”, and the read more tag disappears.

    Is there a way for Groups to display a message or “sign-up” buttons if the user is not a member of a group?


    • kento June 24, 2012 at 12:14 pm #

      The shortcodes are missing an ‘s’. The actual shortcodes to use would be for example:

      [groups_member group="read"]

      Groups doesn’t offer sign-up buttons (yet), but have a look at Groups WooCommerce which allows you to sell memberships.

  10. Harry June 21, 2012 at 7:42 am #

    Hello I very hopefully installed Groups,and got no error messages then, The goups icon also appears in the plugin menu. However when lpressing that I get the follwing fatal error:

    Fatal error: Call to undefined method stdClass::add_help_tab() in C:\domains\\wwwroot\cms\wp-content\plugins\groups\lib\core\class-groups-help.php on line 100

    Can anybody help me?

    • kento June 21, 2012 at 9:59 am #

      This is because that method was introduced in WordPress 3.3. Thanks for reporting that, either the Groups compatibility with WordPress must be updated or a fix added for when that method doesn’t exist. For your case, if you update WordPress it will go away.

  11. Christian B June 17, 2012 at 8:45 pm #

    I am very technically capable — a database applications programmer. Novice in wordpress.

    First goal: I would like each user to have a personal PAGE on the site which they can edit, without also giving them the capability of creating new pages.

    I have found that if I create a user and add the edit_pages capability, then log in as them, I can create a page which they can edit. However, then they can also create new pages. If I change the capability to edit_published_pages, then they cannot edit the page at all (page is not listed in the admin panel).

    I would also like to know the best way to familiarize myself with the entire Groups model and the implementation of short codes. It seems the explanations I’ve seen published assume a foundation of knowledge I don’t yet have.


    • kento June 18, 2012 at 12:27 pm #

      Hi Christian,

      For the personal pages you could add the edit_pages capability to the Registered group, keeping in mind that they will be able to add new pages and edit those they have authored, but they will not be able to publish them – an admin will have to do that.

      So this would allow them to add new pages and edit their own, but they will stay hidden as long as they are pending review. If you really want to create something that will let them publish only one page, I would rather create a new custom content type, for example a Profile type, where you control a edit_profile capability that will be granted based on the number of Profiles a user has published. Then assign the edit_profile capability to the Registered group and voilΓ , they can edit their own Profile and have at most one. That involves coding the custom content type or you could use a plugin that lets you create a custom content type through the admin interface (I don’t remember which right now, but I know there are).

      To get a good idea of how Groups works, I would recommend you to first use it to achieve the goal above, play around with the shortcodes it provides and then have a look at the code, it’s documented and you should be able to derive any additional functionality using the existing shortcode implementations as a basis.


  12. DaveR June 16, 2012 at 8:02 pm #

    Hi. I’m trying to set up a new site and have it bare bones on my localhost using MAMP. WP 3.4, 2011 theme (WP) and only Peter’s Redirect going. I have Admin, users 1 and 2 and just a few posts for each. I made 2 pages, one fixed for Front Page and the other for posts. I’m setting all posts to private. Now it’s working like I want – almost. Admin can see everything where it should: Dashboard>allposts and posts page on site; and each user can see only their own posts.

    My goal is to have each user interact with only the Admin and no other user. (It’s a service oriented business – custom digital products). What I want is to post and have that post only visible by 1 user – the one I want to direct the communication to. I can do this if I use the little dropdown and apply their Author ID, but I want the posts to show up as Admin, not User1, etc. Therefore I thought I’d make groups for each client that includes only 2 members – admin+User1, Admin+User2, etc.

    I was able to create the groups but don’t see a way to post so only the group member(s) can see it. “groups_read_post” is checked.

    Am I missing something here? Otherwise it looks like what I need.

    I hope that’s clear.

    • kento June 16, 2012 at 8:15 pm #

      You’re almost there, have a look at this comment, it explains how to make posts visible to members of a certain group only. Basically you create a capability for each group and use that to restrict access to the post. Let me know if you need more info on that or you manage following the instructions in the comment mentioned.

  13. wonkotsane June 16, 2012 at 3:13 pm #

    Doesn’t work on WordPress 3.4 – causes 500 internal server error on wp-admin.

    • kento June 16, 2012 at 8:09 pm #

      Groups works perfectly well on WordPress 3.4, I suggest you check your server logs to see where the error is caused. It’s not Groups.

      • wonkotsane June 16, 2012 at 9:15 pm #

        Groups enabled = HTTP 500, Groups disabled = no error. May be an incompatibility with another plugin but none of them are even remotely connected to ACLs or any of the functionality of this plugin.

        • kento June 16, 2012 at 9:25 pm #

          Might be a conflict or anything else, it’s difficult to say without knowing about the server. What does the server log say?

  14. Shaun Scovil June 13, 2012 at 1:47 pm #

    Just to clarify, I was hoping you could identify for me which function/method/class contains the information I need, so I can store it in my arrays.

    Any help you can provide would be greatly appreciated.

    Thanks in advance!

    • kento June 13, 2012 at 10:11 pm #

      Hi Shaun, got to to take a quick look at that today but couldn’t get to write an outline for this yet. A quick hint, you might want to have a look at the GFA_Shortcodes class and its class method groups_file_link, you could basically iterate over that for each group or derive what you need from there (first option should be simpler). Let me know if that helps for now …

  15. Shaun Scovil June 13, 2012 at 12:16 am #

    Hi Kento,

    Love the plugin and Group File Access extension!

    I’m trying to write a custom page template that all logged-in users can access, which will be dynamically populated with all files available to the current user, categorized by group.

    In order to do so, I need to create:

    1) An array of all groups the current user is in;
    2) A multi-dimensional array of all files available to that group, which contains the filename, upload date, user who uploaded it, and download URL.

    My page template will be laid out as follows (written logically):

    if user is not logged in {

    display login form

    } else {

    div tab-index
    foreach group the user is in {
    div group (group name) /div
    /div tab-index

    div tabs
    foreach group the user is in {
    foreach file available to that group {
    div file (name, date, author, download link) /div
    /div tabs


    • kento June 14, 2012 at 3:47 pm #

      Hi Shaun,

      For 1) you can use:
      $user = new Groups_User( $user_id );
      $groups = $user->groups;

      And for 2) you could use the groups_file_link() method I mentioned in (defined in groups-file-access/lib/views/class-gfa-shortcodes.php) or you can use it as a basis for your own variant showing the data you want. Note that ‘user who uploaded it’ isn’t stored so you won’t be able to retrieve that information.

      I hope that helps you with the template.

      • Shaun Scovil June 14, 2012 at 4:08 pm #

        This is great, thank you! I will keep you posted and share a pastebin of the page template when I get it working.

        Also, you may want to consider storing the uploader user id in a future version of your plugin. It wouldn’t hurt and, at least in my case, would definitely help to keep file revisions organized on the front end without relying on users to provide self-evident file names.

        Thanks again!

        • kento June 15, 2012 at 9:44 am #

          Thanks Shaun, that would be interesting to see πŸ™‚
          I also see the use of the uploader or ‘owner’ of a file being stored, I’ll consider it for the next update of GFA.

  16. Frank June 5, 2012 at 6:15 pm #


    This plugin seems to offer what I need. I need to create different group of user that represents geographical regions. Users can only read and write posts for the respective region. How could I achieve that? Is there any example I could refer ?

    Thanks in advance !

    • kento June 5, 2012 at 6:38 pm #

      Hi Frank,

      Quite easy actually for reading: create a group for each region and a capability for each, check the capabilities created under Access Restrictions in Groups > Options and on the posts limit access by checking the appropriate capability.

      Groups : US, UK
      Capabilities : create read_US, read_UK and assign these to the above groups; check them under Access Restrictions
      Posts : create a couple of posts, A and B, check read_US for post A, check read_UK for post B

      Members of the US group can read post A but not post B, those in the UK group can read post B but not post A.

      About write access it’s different, maybe it’s sufficient to let editors decide by checking the capabilities in the post?

      • Frank June 5, 2012 at 6:59 pm #

        Actually, I am using the P2 theme and user can write Post on the front-end so there should be no possibility to for checking the capabilities. Do I have to action hooks or something like that in the functions.php file ?

        • Frank June 5, 2012 at 7:00 pm #

          By the way, thanks for the quick reply it works great!

          • kento June 26, 2012 at 11:36 am #

            I’ve not used that theme but if it respects capabilities it should work with that as well.

  17. Jack April 26, 2012 at 9:20 pm #

    I found groups_read_post under wp_groups_capability in the sqltable. So, it could be populated via csv direct into sql for bulk groups. I think. As to the user groups_member it would be best for the user to do it. But, how without making a mess with key entry errors. I think the author field for a post couuld be their group. An ajax summarizing all authors alphabetially in the profile page letting them select their author (group) could make an error free, simple group allocation that is moderation-free. I think.
    I ain’t no programmer, so …..

    • kento May 7, 2012 at 11:43 am #

      Ok now you’ve lost me here πŸ˜‰ – what exactly do you want to achieve?

      • Jack May 8, 2012 at 9:07 pm #


        Thank you.

        I’ll have large numbers of posts, groups, and users. So, bulk upload is my only option.

        A previous post mentioned the user should have an ability to pic their group and an admin approve. This would be great since users make mistakes and it would allow the admin to keep the group clean–not me.

        I’ll likely use multisite to break up the large number of posts and assign it to one group per your suggestion above. So, that will help alot.


  18. Jack April 26, 2012 at 7:50 pm #

    Great Plugin. I’ll be getting the downloads version at
    I’ll be bulk uploading tens of thousands of posts and users. I’ll need to bulk upload a post and Access restriction groups_read_post. Also, I’ll need to upload users wiht their groups_member group. (I’ll ftp images.) Everything will tie back to the post ID/slug. I’ll also tie in downloads.
    What is the best method for uploading thousands of posts and users with the groups_read_post, and users with their groups_member group(s)?
    BTW: I’ve been searching for a solution for 2 days. This is the best!!

    • kento May 7, 2012 at 11:40 am #

      Hi Jack,

      There is this plugin I haven’t used it myself, but it sounds like it might help you. If it works as I assume, it should let you assign groups_read_post to the posts’ meta. Note that as of version 1.2.0 you will have to assign meta_key = ‘groups-groups_read_post’ and meta_value = ‘groups_read_post’ or any other capability you want to use (this is new, before 1.2.0 you could only use groups_read_post to restrict access, now you can use any capability).

      For the users, I would simply use the bulk assign feature available on the Users admin screen. Select all you want to assign to a group, select the group and click Add.

      I hope that helps, let me know how it turns out.


  19. Tie Love April 26, 2012 at 6:48 am #


    In my wordpress general options there is a default user role set to new users. I was wondering if there was a way to set a custom user role to someone registering as an affiliate with affiliates pro?

    Could I use this plugin to achieve this?

    What I really wanna do is have all new affiliate sign up with a custom user role and not the default one set-up with wordpress.

    • kento April 26, 2012 at 9:42 am #

      That’s possible but you don’t need Groups to do that. You don’t need Affiliates Pro for that either. If you don’t mind posting this on the Affiliates plugin page, I should be able to show you how it can be done.

  20. Per April 21, 2012 at 4:26 pm #

    I have a strange issue, when using your plugin I got an issue in other plugin Mailpress. The issue is that content in mail created via Mailpress is not showing up at all. It works as normal if I deactive your plugin.

    I have tested to add in all capabilities to a certain admin group and add in admin into this this group, dont work. I have tried the option to have administrator override marked, dont work.

    Any idea what the problem can be and hor can I solve it?


    • kento April 25, 2012 at 1:50 pm #

      Thanks for the info, I will test it with Mailpress. What other plugins are activated on your site?

  21. Orbix_Server April 21, 2012 at 4:00 pm #

    Hi, we use the groups plugin, and we were wondering if there was a way to make more capability show up on the menu at the top right when making a post or page, to only allow groups with that capibilty to get to that page, as we all ready use groups_read_post for moderators.

    Any help would be appreciated.

    • kento April 21, 2012 at 4:08 pm #

      Thanks for asking, it’s being worked on right now. There is a new release being prepared which will officially pull Groups out of beta, it’s not sure yet whether that is going to be available with the new release, if not, it won’t take long.

  22. Betty Donelly April 19, 2012 at 8:03 am #

    Hi, please allow me to quote from a previous comment

    Quote: “Hi
    I am interested in using Groups, as I would like to group content for people to view but not limit access.
    For me i would really like

    2. to be able to list β€˜my groups’ for logged in user”

    Has this feature been updated yet? .. I am really scratching my head because i can’t access my groups. I just installed the plugin and i created one additional group.

    I was really expecting to see a link menu item called ‘Groups’ in the navigation bar on the live site, such as i have seen on another website.

    I cannot see it even when i am logged in! Meaning i can’t access my own groups to start adding content.

    And the available shortcodes can’t seem to realise this. I want the Groups menu item in the navigation bar to be visible also for regular non member/non registered visitors (but not the actual content, instead just a list of available groups on the site)

    Please help me.



    • kento April 25, 2012 at 2:42 pm #

      Hi Betty, thanks for the suggestions. You are looking for two features then, list a user’s groups and list the site’s groups? But I assume you would also want to link these to content assigned to each group. You mention “I would like to group content for people to view but not limit access.” – wouldn’t categories work for you? In that case, you don’t really need the groups, just categorize your posts.

      • kento April 30, 2012 at 12:54 pm #

        BTW the features list user’s groups and list site’s groups are now available through shortcodes in release 1.1.5

  23. Nelson April 15, 2012 at 5:56 pm #

    Thank you, Kento. I deleted the Groups folder and deactivated my plugins and the display came back. Now I am checking which plugin was in conflict… OK, apparently the conflict was with Wiziapp. I had not created an app with it so I deactivated it and everything is fine. Thanks again for your help!

    • kento April 15, 2012 at 6:19 pm #

      Thanks for taking the time to test that Nelson. I will check that to see what’s causing the conflict.

  24. Nelson April 15, 2012 at 7:23 am #

    I installed Groups in my WP blog website. I wanted to create a group that would be able to read and write to private posts and private pages. Not only was I unable to make it work, Groups has now rendered the pages of my website undisplayable. I am able to open and edit a page or post in the dashboard — the content is still present — but it will not display when I try to load the page or when I click VIEW when looking at the content the edit screen. I tried disabling Groups and that doesn’t make any difference. I’m rather desperate. Can you help please?

    • kento April 15, 2012 at 11:01 am #

      That sounds like a conflict with another plugin on your site. What you can do for now is go to your plugins directory and delete the groups folder. Please let me know what other plugins you have installed and activated as well as the current theme, we can then check to see what’s causing that.

  25. JD April 14, 2012 at 8:13 pm #

    Okay, thanks, Kento. I really don’t know what to do with that information but I will try to figure it out.

    Thanks again,

  26. JD April 14, 2012 at 4:26 pm #

    Hi, Kento! Great plugin!

    Above Peter asked about how to make it so a a user could automatically be added to a certain group when they clicked a button. I would like to be able to have a button like that, but I am a newbie and I don’t have the slightest idea how. I would really appreciate some help.


    • kento April 14, 2012 at 6:30 pm #

      Hi JD, basically you use the API call that I’ve mentioned in my reply to Peter. If you don’t know how to use that information, right now it would be rather difficult for you to achieve this. Maybe at some point that button thing could be a good idea to offer as a shortcode. Then it would simply be placing the shortcode where needed and it would work. Let’s see if there is more interest in having that and it’s worth the effort of adding it …

  27. margysdr April 9, 2012 at 1:09 am #

    If I already have many groups set up already in my site will your groups show up or not? I have over 3,000 groups set up on my site right now and though I tried to set up two new groups with the Groups plugin, I cannot see them live on my site. Or is it due to plugin incompatibility? I have BP Group Hierarchy and BP Group Management also installed.

    Thank you,

    • kento April 9, 2012 at 12:40 pm #

      Hi Margy, actually the Groups plugin is completely independent of BP. I understand what you expected to see, but as these are different systems and no integration has been done, it won’t be possible – at least for now. Cheers

  28. sanjay April 1, 2012 at 1:36 am #

    Hey Kento, I have a website that uses wishlist member. First question: Does groups work with wishlist?
    Second is: Can users be added on the front end? Because I created a front end dashboard on the site. So everything has to be front end πŸ™‚
    Third: Users will register to wishlist, can they add themselves on the group?

    Hope you can clear this for me, and really great work on the plugin. Been looking for this feature for a long time πŸ™‚
    Thanks man!

    • kento April 1, 2012 at 9:44 am #

      Hi Sanjay, thanks for your comment. There is no integration with WLM for Groups although maybe you can do that depending on what exactly you need to do. Sure you can add users to groups from the front end, have a look at the classes that handle users and groups, it’s very easy to use. Same thing for your third question, you can provide a means for them to add themselves to a group.

  29. Fabien March 31, 2012 at 10:27 pm #

    How to get the author groups from theme template (php) ???

    • kento April 1, 2012 at 9:39 am #

      Do you want to show what groups the author belongs to? Have a look at the Groups_User_Group class and related, you should be able to understand how to retrieve that from it.

  30. Ted March 29, 2012 at 7:22 am #


    Sorry I hope I am not being to lazy. is it possible to let users define the group field on one of my plubic website page (E.g. “register a group” page). Thanks for replying

    • kento March 29, 2012 at 12:13 pm #

      Hi Ted, not at all πŸ™‚
      You can use the API to handle creating the Group using the Groups_Group::create( $map ) method.

  31. Minaki March 27, 2012 at 6:40 pm #

    Do you know how can i make a user from a group (Group 1, for example) see only members from that group in the Users page?

    Nice plugin, bytheway =D

    • kento March 27, 2012 at 7:33 pm #

      Hey thanks Minaki πŸ™‚
      Currently I only see two feasible solutions for that, one would be to create a custom Users page which uses Groups’ API to make that work, the other one would do a similar thing on the front end. So yes it can be done with Groups but it would have to be coded. I hope that helps.

      • Minaki March 28, 2012 at 12:07 pm #

        It’s look complicated. Can you help me? I don’t know where to start.
        Thanks =D

        • kento March 28, 2012 at 6:34 pm #

          Yes, it requires a certain level of expertise. It’s not something I would do for free, if you want to have this done for you, please contact me here.

  32. Bazzer March 22, 2012 at 10:25 pm #

    I am attempting to use your plugin but the capabilities area is empty and when I try to add a few that I see on the screen shots of the plugin, nothing happens, a bit disappointing so far

    • kento March 22, 2012 at 11:21 pm #

      This issue has been reported and is currently being looked into. You can help to solve it by providing details about your installation: What server, plugins activated, theme, …

      • Bazzer March 23, 2012 at 11:12 am #

        I installed the plugin directly from the wp plugin list within my dashboard, I do have a couple other plugins operating, TheThe Fly tabs, WP Auctions and BWS Contact form but I don’t see them causing any problems

        • kento March 23, 2012 at 1:18 pm #

          Thanks, what about the server OS, PHP version, MySQL version?

    • kento April 5, 2012 at 6:23 pm #

      This issue has been fixed in the latest release.

  33. MihaiCr March 22, 2012 at 9:57 pm #

    I need to use another shortcode inside.
    [groups_member group="Registered"]
    Show: [GLOBALMAP] instead of real map
    [groups_member group="Registered"]
    [contact-form-7 id=”38″ title=”Contact form 1″]
    Show: [contact-form-7 id=”38″ title=”Contact form 1″] instead of form

    Please help

    • kento March 22, 2012 at 11:20 pm #

      Ok, I don’t quite get what exactly is your question. Could you please explain? The nested shortcodes should work, do you see any issues there?

      • MihaiCr March 23, 2012 at 8:02 am #

        Sorry, my English is very poor.
        The following page contains:
        [groups_non_member group="Registered"]
        Please complete the following form:
        [contact-form-7 id=”38″ title=”Contact form 1″]
        [groups_member group="Registered"]

        What you see is in page is:
        Please complete the following form:
        [contact-form-7 id=”38″ title=”Contact form 1″]

        When i use just:
        Please complete the following form:
        [contact-form-7 id=”38″ title=”Contact form 1″]
        [groups_non_member group="Registered"]…..
        in the page it’s show the form like this:

        • kento March 23, 2012 at 2:25 pm #

          Thanks, I’ve updated the shortcodes to allow nesting. This is in Groups release 1.0.0-beta-3c – please update to that version.

  34. Paul March 21, 2012 at 7:37 pm #

    Hi! Please help me. Can I add my own capability checkbox to Access restrictons meta box on posts and pages, which provides read access to the group I created?

    • kento March 21, 2012 at 7:40 pm #

      This is going to be possible in the next release. It’s already being developed.

      • Paul March 21, 2012 at 7:51 pm #

        Thanks for the response! And when the following release is planned? This possibility is necessary to me very urgently((

        • kento March 21, 2012 at 9:08 pm #

          An exact date for that isn’t there yet, the project’s powered exclusively by my own resources right now but I hope that it won’t take long as it’s something that I would like to see as soon possible.

  35. John March 17, 2012 at 6:19 am #

    I don’t see any way to add users to a group on either the group or user menu. Did I miss something during install?

    • kento March 17, 2012 at 3:14 pm #

      You can assign users to groups on the usual Users screen. On top of the user list, there are two new buttons to do that.

      • john March 18, 2012 at 10:33 pm #

        My bad, thanks!

  36. Michael March 16, 2012 at 4:56 pm #

    Can I email the members of my groups, please? If not, is anything planned for the future that might let me do this at some stage? BTW – thanks for the plug-in – works great so far. This one little addition would make it perfect for me!

    • kento March 17, 2012 at 3:10 pm #

      Thanks Michael, it would be fairly easy to build that functionality, given that Groups’ API provides everything necessary for that. It’s a feature that surely would be welcome in many cases, probably as an extension but currently I can’t give an estimate for when this would be available because the next release of the Groups core has to come first.

      • Michael March 19, 2012 at 1:16 pm #

        Thanks for the prompt reply. Glad to hear it is on the list πŸ™‚

  37. Len March 6, 2012 at 9:27 am #

    Same problem with adding new Capabilities
    I did some checking and the capabilities table does not exist!!
    It was there… but I have deactivated/activated the plugin a couple of times – requesting it delete all its data – which it does successfully.. but the activate does not seem to create the capabilities table – all the others are there – – nothing obviously wrong in the controller.php – so I’m puzzled…
    WP 3.3.1 – Plugin Beta 3

    • kento March 6, 2012 at 9:21 pm #

      Thanks for reporting your issue. Can you please forward a zipped dump of the site’s database? (You can send it to the email on this page)

      • Len March 6, 2012 at 9:44 pm #


        • kento March 7, 2012 at 4:45 pm #

          Great, thanks. Will have a look and let you know.

          • kento March 17, 2012 at 9:41 pm #

            Released beta-3b, please deactivate and activate the plugin after updating, it will take care of creating the missing table.

          • Len April 5, 2012 at 8:19 pm #

            Working nicely now on beta-3d

    • kento April 5, 2012 at 6:22 pm #

      It’s been fixed in the latest release.

  38. Mango March 1, 2012 at 11:13 pm #

    I need a paid subscription group membership. Can I use Groups together with a paid subscription plugin?

    • kento March 2, 2012 at 7:02 pm #

      Yes you can use it that way, what features would you expect from the two together?

  39. Peter February 22, 2012 at 4:38 am #

    Hey there itthinx,

    Just installed the plugin, I am planning on using it to manage our Street Team. It is pretty redundant but I would like to be able to have a member be able to press a button and be automatically added to a certain group. Can this be done?


    • kento February 22, 2012 at 12:53 pm #

      Hi Peter,
      Yes you can do that through the API. Your button handler could end up adding the user to a group:
      Groups_User_Group::create( array( 'user_id' => $user_id, 'group_id' => $group_id ) );
      Hope that helps, Cheers!

  40. Ben February 21, 2012 at 7:18 pm #

    How can I use your plugin to hide an entire page? Example:

    All registered users can see Pages A, B, and C
    Members of Group A can see Pages D, E, F, and X as well
    Members of Group B can see Pages X, Y, and Z as well

    Would like to have the entire Page hidden so it appears in the site navigation for the appropriate users only.

    Thank you!

    • kento February 22, 2012 at 12:24 pm #

      Thanks for the input Ben, in the current version 1.0.0-beta-3 Groups handles access to posts through the groups_read_post capability. This controls access to posts via back and front end but has its limitations – if a Group has the capability, its members can access any page that requires it. This is going to be changed so that cases like the one you describe can be covered easily as well.
      Meanwhile (it’s not the ideal but an option for your case) you could wrap the content of the pages in question within Groups’ [groups_member] shortcode. Most probably the next release will cover your case fully.

      • Troy July 8, 2014 at 7:35 am #

        Hi Kento, I seem to be facing this same issue having just installed your wicked plugin this morning. Has this been updated yet as it seems any of my users once logged in can see all protected pages even though I’ve set the enforce read access on each.

        I am working with a Staff/Agent/Retailer scenario where staff can everything,.. Agents can see everything but Staff content,.. and retailers can only see retail info?

        • kento July 10, 2014 at 10:32 am #

          Hi Troy,

          Is there any other plugin that also tries to restrict or open up access to those pages? If you have the access restricitons in place, it doesn’t grant access unless something else interferes.

  41. wingnut_9798 February 20, 2012 at 10:24 pm #

    I would like all users to be able to access all my site content but I would like to control the email announcements of blog posts.

    Example 1:
    Real-Time Group – Gets email notice as posts are published
    Daily Group – Gets email notice of new posts once a day
    Weekly Group – Gets email notice of new posts weekly

    Can I use Group to accomplish this?

    • kento February 20, 2012 at 11:06 pm #

      A notification extension could be built based on these requirements and the Groups API, but it is not something that you could do with Groups OOTB.

  42. Roger January 31, 2012 at 10:51 pm #

    I switched to single quotes, though I was definitely using normal double quotes before, and it works. Yay! Thanks again.

  43. Roger January 31, 2012 at 7:28 pm #

    Hi, this is perfect for my needs…if I can get the shortcodes to work. If I want to have a bit of content appear for members and a suggestion to register appear for non-members, wouldn’t this be right?

    [groups_member group="1"]Here’s your content.[/groups_member]
    [groups_non_member group="1"]Please register.[/groups_non_member]

    This works to hide or show the first bit, but the “please register” message is never hidden, group members see it as well as non-group members (and not just administrators). This is on the latest version of WP.

    Also, I never seem to be able to unset the administrator override. Thanks for writing the plugin!

    • kento January 31, 2012 at 10:23 pm #

      Could you try it like this please?

      [groups_member group="Registered"]

      This is visible to registered users only.


      [groups_non_member group="Registered"]

      This is visible to non-registered users only.


      I would say it’s either because the actual content is not on a new line (as in the example I give above) or it might have to do with the double quotes used (e.g. using right double quotes instead of normal double quotes).

      Hey also great to see this suits you, please let me know if the above solves it.

      Thanks also for mentioning the administrator override issue, this looks like a bug – will need to fix it πŸ˜‰

  44. elvis January 25, 2012 at 1:13 pm #

    I am interested in using Groups, as I would like to group content for people to view but not limit access.
    For me i would really like
    1. php code in addition to the posting shortcodes (for more varied content)
    2. to be able to list ‘my groups’ for logged in user
    3. as iamjwk suggested above, I would need to add certain posts or categories to groups.

    I haven’t tried using ‘do_shortcode’ for point 1. but the other 2 are essential to me at the moment.
    It would be great to look into these if you are continuing to develop.

    • kento January 26, 2012 at 9:54 am #

      Thanks for your suggestions elvis, yes this is actively being developed further and what you propose makes sense to me as well. We can expect to see 2 and 3 done shortly and the documentation that is being prepared will help people to understand the API to integrate with their own projects.

    • kento May 6, 2012 at 9:09 am #

      On 2 – As of Groups version 1.1.5 you can list the groups for a user using the [groups_user_groups] shortcode. 3 is being worked on and 1 is provided through the API.

  45. Bob January 24, 2012 at 2:24 pm #

    Can I get this to work with buddypress groups? double entry?

    • kento January 24, 2012 at 4:12 pm #

      Should be possible but has not been done yet.

  46. Bill Gunn January 24, 2012 at 7:50 am #

    Hi Kento,

    We are a small consulting company and would like to have customer specific pages and posts on our site that would require a customer to login in order to see their specific content. Each customer will have a unique set of pages with information confidential to their business.

    Does your plugin sound like a fit for our use case?

    Two other questions:

    1. Is there a way to protect files so that customers can only download files specific to their group?

    2. Is protected content hidden from WordPress’s search results?

    Thank you!

    • kento January 24, 2012 at 9:33 am #

      Hi Bill,

      Thanks for considering to work with Groups. Wouldn’t a multisite seem like the appropriate solution for this? You could add a site for each customer and protect its posts using the standard access restriction that Groups provides. This might even add prestige, as each site can reflect the customer’s corporate identity.

      Regarding the other questions:
      1 – Unless the files are protected by additional means, anyone who knows the file’s URL will be able to access it.
      2 – Yes.

      • Bill Gunn February 5, 2012 at 3:46 pm #

        Hi Kento,

        Thank you for your reply and your ideas. Re: Your Multi-Site suggestion: An excellent idea, but we’d like to keep all our content in a single site.

        We’ll give your plugin a shot and see how it works.


        • kento May 6, 2012 at 9:05 am #

          Update regarding 1 – protect files so that customers can only download files specific to their group – the Groups File Access plugin provides that functionality.

        • Cathlene Bollin January 30, 2013 at 6:02 pm #

          I like your idea Bill about customer specific pages. It is what I want to achieve. I like your idea also Kento using Multi-Site. I will try to merge your ideas and make a private-secure folder for each client, not a website for each client.

      • Jonas April 4, 2014 at 10:59 am #

        Kento, how could I open an exception so that WordPress search result show the hidden content?

        I already have my website setup that only the excerpt shows up in non-hidden articles, but I need the excerpt to show up in search results.

        • antonio April 7, 2014 at 10:04 am #

          I think you’ve figured it out. If you can, share your solution, everyone will be grateful.

  47. iamjwk January 22, 2012 at 1:25 pm #

    Played around with the plugin and have following feedback:
    1. Assigning capabilities to a group is time intensive; you have to assign capability for capability via the dropdown. Would be handy to have list of capabilities on the group edit screen in which the checkboxes can be ticked for required capabilities.

    2. Currently am not going to use this plugin although it looks very promising. Reason is that visibility of posts is completely dependent on the capability “groups_read_post”, while I would like to assign groups to the post, so I can for example make certain posts visible to family members only and not to friends. But each group would require the groups_read_post capability to make sure they can read other posts.

    • kento January 22, 2012 at 2:15 pm #

      Thanks for trying it and sharing that πŸ™‚
      Regarding 1 – if you want to assign multiple capabilities to groups it would really be a nice option to be able to do that.
      On 2 – I can see what you mean. It would make sense to be able to use your own choice of capabilities.

      • Allan EDMOND March 1, 2012 at 7:17 am #

        When I add a capability and click save, nothing happens and the page stays on the Add a capability.
        If I go to groups then back again to capabilities, there is nothing added.
        Any tip ?

        • kento March 2, 2012 at 7:00 pm #

          Can you give some details about your testing environment please? What you experience is certainly not how it normally works, sounds like there might be a conflict …

          • Allan EDMOND March 3, 2012 at 12:36 pm #

            Tx for your reply
            I’m running WordPress 3.3.1 on a dedicated server.
            The website is on a subdomain.
            I don’t know what I can say more …?
            Any specific details you might need ?

            • kento March 4, 2012 at 5:36 pm #

              Yes please, what theme are you using and what other plugins are active?

        • kento April 5, 2012 at 6:25 pm #

          This will work now, try the latest release please.

  48. ricardo January 21, 2012 at 2:20 am #

    I could not get it to add capabilities (nothing would happen). What else is required?

    • kento January 21, 2012 at 11:34 am #

      How did you add the capability? If you did it on the Groups > Capabilities screen the capability has been added. Have you checked your filters on top?

    • kento April 5, 2012 at 6:26 pm #

      What happened here was probably related to the issue with the capability table. This has been taken care of in the latest release.

  49. shawn January 15, 2012 at 8:48 pm #

    Is there currently any way to say ‘if user-group = x’ then ‘allow access to blog id#4’ in a WordPress multisite subfolder installation?

    Basically I created a blog ‘members’ in multisite where all of my members content resides. Trying to find the easiest solution to only allow certain groups to access that blog. guests/visitors see page saying members-only with options to register.

    Is this currently, or considered for future updates?

    *After a lot of trying determined s2members is not capable of this
    wpmu memberships plugin comes close but still has issues after weeks of trying with their devs. Pretty much I do not see a current easy to use solution to this.

    • kento January 15, 2012 at 9:53 pm #

      I find that very interesting.

      From what you say, I understand that you would like to grant access to a certain blog based on group membership. There are at least two perspectives that I can offer to that:

      1 – Grant access to the whole blog based on group membership
      2 – Grant access to a blog’s articles based on group capabilities

      With the current beta-1 you can do #2 but you can’t do #1 directly. To do #2 you simply protect all entries by the groups_read_post capability and assign that capability to the privileged group on each blog that you want to protect. For #1 it’s certainly something to consider and for #2 I’d say one would have to reduce the capabilities of the subscriber role and add those back on to the privileged group(s). Of course #1 would be much easier to handle on large deployments … actually I found myself wondering today why not allow to remove capabilities based on group membership because it might have come in handy on a project. Anyhow, if you’d like to try #2 and let me know about how it suits what you’re trying to achieve? There’s room for useful features …

      • shawn January 15, 2012 at 10:06 pm #

        #1 would be much easier for larger systems. Having a simple blog url restriction rule that covers all the content on that particular blog for a certain group would be easy to handle.

        #2 becomes more difficult to maintain, esp as I am not just protecting posts, but custom post-types, taxonomies, forums, etc.

        well hope some of the ideas are valid.

        I’ve been on this journey for a few weeks now and frankly, there really isn’t an elegant solution available for multisite setups.

        • kento January 15, 2012 at 10:31 pm #

          I agree and to do #1 seems challenging … also it would be interesting to take a look at the use cases.

          • shawn April 27, 2012 at 8:27 pm #

            Just checking back to see if #1 ever made it into the groups plugin.

            My specific use case as you asked for it:
            I create a completely separate blog on my network for support which holds my support docs, bbPress forums etc.

            I have a setup where when a user purchases a product via woocommerce, then they are added to a ‘members’ group.

            You have to be a member of the ‘members’ group in order to access the ‘members-only’ blog I talked about earlier. Everyone else gets sent to a page saying members only, please signup.

            *I am not currently using your plugin for this, but rather a couple of others with a lot of personal hacks built in. Looking for a more elegant solution.

          • Dave October 31, 2013 at 5:27 am #

            This is EXACTLY what I want to do. Did this ever get resolved? I looked at S2 members and it looks like it can do it if you pay $300 for a network licence but it doesn’t integrate with with Woo Commerce and my preferred payment gateways. You guys should charge extra for multi-site version. I’d pay.

            • kento October 31, 2013 at 1:37 pm #

              Hi Dave, you mean #1? There’s Groups Blog Protect which is a start toward that, it’s taking the Registered group into account only as it is now, but it wouldn’t be difficult to enhance the plugin to achieve this for any group. What I would like to see in that case, would also be a way to have groups across the network. Is that in line with what you’re looking for? Ideas are very welcome.

  50. Claudio January 14, 2012 at 6:53 pm #

    hi..looks good …ithere any way or shortcode i can use to show the number of registered users in a group or sub group.

    • kento January 15, 2012 at 1:13 pm #

      Not yet, but that would be a useful addition.

    • kento January 17, 2012 at 3:11 pm #

      The new release (beta-3) now includes the [groups_group_info] shortcode which you can use to show the group’s name, description and number of members in the group.

Leave a Reply

We use cookies to optimize your experience on our site and assume you're OK with that if you stay.
OK, hide this message.

Affiliates Β· Contact Β· Jobs Β· Terms & Conditions Β· Privacy Policy Β· Documentation Β· Downloads Β· Useful Plugins Β· My Account