Groups is designed as an efficient, powerful and flexible solution for group-oriented memberships and content access control.

It provides group-based user membership management, group-based capabilities and access control for content, built on solid principles.

Groups is light-weight and offers an easy user interface, while it acts as a framework and integrates standard WordPress capabilities and application-specific capabilities along with an extensive API.

Enhanced functionality is available via Official Extensions for Groups.

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.

Documentation

The official documentation is located at the Groups Documentation pages.

Features

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

Access to posts, pages and custom post types can be restricted by group.

If access to a post is restricted to one or more groups, only users who belong to one of those groups may view the post.

Fully supports custom post types, so that access to post types such as products or events can easily be restricted.

  • 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: ,
  • Control access to content by capabilities: show (or do not show) content to users who have certain capabilities –
    Shortcodes: ,
  • Blocks: The Groups Member block allows to restrict the visibility of its content to members of selected groups.
    The Groups Non-Member block hides its content from members of chosen groups.
    The blocks can be nested to provide multiple layers of access control to content.

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

  • Enable access restrictions by custom post type
  • An optional tree view for groups can be shown when desired
  • Provides its own set of permissions
  • Administrator overrides for tests
  • Cleans up after testing with a “delete all plugin data” option

Framework

  • Groups is designed based on a solid and sound data-model with a complete API that allows developers to create group-oriented web applications and plugins

Multisite

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

Extensions

Enhanced functionality is available via official Extensions for Groups.

Groups is a large project that is providing essential functionality to tens of thousands of sites since 2012. By getting an official extension, you help fund the work that is necessary to maintain and improve Groups.

  • Groups WooCommerce : Sell Memberships with Groups and WooCommerce – the best Group Membership and Access Control solution for WordPress and WooCommerce.
  • 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.
  • WooCommerce Group Coupons : Automatically apply and restrict coupon validity for user groups. Offer exclusive, automatic and targeted discounts for your customers.
  • Groups Drip Content : Release content on a schedule. Content dripping can be based on user account creation, group memberships and specific dates and times.
  • Groups File Access : Allows to provide file download links for authorized users. Access to files is restricted to users by their group membership.
  • Groups Restrict Categories : Features access restrictions for categories, tags and other WordPress taxonomies, including support for custom post types and taxonomies.
  • Groups Forums : A powerful and yet light-weight forum system for WordPress sites.
  • Groups Import Export : Provides import and export facilities around users and groups.
  • Groups Newsletters : Newsletter Campaigns for Subscribers and Groups, also integrates with WooCommerce.
  • Groups Gravity Forms allows to add users to groups automatically, based on form submissions.
  • Widgets Control Pro : An advanced Widget toolbox that adds visibility management and helps to control where widgets are shown efficiently.

Get involved

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

Feedback is welcome!

If you need help, have problems, want to leave feedback or want to provide constructive criticism, please leave a comment below.

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!

Stay informed or contribute

Follow @itthinx (or on Reddit, Mastodon, … ) for news related to Groups and other plugins.

Get development notifications, contribute code or open issues at the repository on GitHub.

Translations

Translations have been contributed by many from the WordPress community, via the GitHub repository Groups, the section for Groups on Translating WordPress or as direct contributions.

Where to get Groups

Groups is free. You can install it directly from your WordPress dashboard or download it from the Groups plugin page and install it manually.


Comments

2,693 responses to “Groups”

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

    1. 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.

      1. 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?
        Thanks,

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

    1. Cool 🙂 Love to see it put to good use.

  2. Arturol Avatar

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

    Groups WooCommerce is being used at a different address, mysite.com/registration

    I have another address in the network where I intend to have the different groups
    mysite.com/groups

    My question is, how do I automatically assign group memberships (from mysite.com/registration) to a page that belongs to a different address (mysite.com/groups) in the network?

    Can you help?
    Thanks,

  3. 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
    mysite.com and mysite.com/subdomain/ and anothersite.com

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

    1. 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?

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

    1. You can do that, simply restrict access to the pages you want to protect. How you can do this for a Premium membership group is explained here http://www.itthinx.com/documentation/groups-woocommerce/ and you can extend that as needed with additional groups.

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

    1. 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.

      1. 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.

        1. You mean menus on front or back end?

          1. Menus on the front end for visitors.

            1. 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.

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

            1. 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.

  6. 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?

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

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

        1. #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

          1. Gotcha, thanks for letting me know!

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

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

  8. 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_non_member]

    [group_member group=”read”]

    the rest of the content of the blog post.
    [/group_member]

    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?

    Thanks!

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

      [groups_member group="read"]
      ...
      [/groups_member]

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

  9. 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\harrybooltink.nl\wwwroot\cms\wp-content\plugins\groups\lib\core\class-groups-help.php on line 100

    Can anybody help me?

    1. 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.

  10. 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.

    Thanks!

    1. 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.

      Cheers

  11. 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.

    1. 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.

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

    1. 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.

      1. 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.

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

  13. 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!

    1. 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 …

  14. 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

    }

    1. 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 http://www.itthinx.com/plugins/groups/#comment-1637 (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.
      Cheers

      1. 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!

        1. 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.

  15. Hi,

    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 !

    1. 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.

      Example:
      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?

      1. 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 ?

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

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

  16. Hi,
    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 …..
    Cheers,
    J

    1. Ok now you’ve lost me here 😉 – what exactly do you want to achieve?

      1. Hi,

        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.

        Regards,
        V

  17. Hi,
    Great Plugin. I’ll be getting the downloads version at Codecanyon.net
    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!!
    Cheers,
    Jack

    1. Hi Jack,

      There is this plugin https://github.com/joeyblake/WP-Bulk-Posts-Meta 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.

      Cheers

  18. Hello,

    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.

    1. 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.

  19. Hi
    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?

    Per

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

  20. 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.

    1. 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.

  21. 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.

    Thanks

    Betty

    1. 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.

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

  22. 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!

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

  23. 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?

    1. 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.

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

    Thanks again,
    JD

  25. 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.

    Thanks,
    JD

    1. 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 …

  26. Hello,
    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,
    Margy

    1. 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

  27. 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!

    1. 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.

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

    1. 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.

  29. Hi

    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

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

  30. 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

    1. 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.

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

        1. 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.

  31. 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

    1. 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, …

      1. 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

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

    2. This issue has been fixed in the latest release.

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

    Please help

    1. 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?

      1. Sorry, my English is very poor.
        The following page http://www.zofoptogerman.ro/auto/?page_id=8 contains:
        ___________________________________________
        [groups_non_member group="Registered"]
        Please complete the following form:
        [contact-form-7 id=”38″ title=”Contact form 1″]
        [/groups_non_member]
        [groups_member group="Registered"]
        [GLOBALMAP]
        [/groups_member]
        ___________________________________

        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″]
        without
        [groups_non_member group="Registered"]…..
        in the page it’s show the form like this:
        http://www.zofoptogerman.ro/auto/?page_id=44

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

  33. 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?

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

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

        1. 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.

  34. 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?

    1. 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.

      1. My bad, thanks!

  35. 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!

    1. 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.

      1. Thanks for the prompt reply. Glad to hear it is on the list 🙂

  36. 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

    1. 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)

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

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

          2. Working nicely now on beta-3d

    2. It’s been fixed in the latest release.

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

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

  38. 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?

    Thanks!

    1. 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!

  39. 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!

    1. 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.

      1. 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?

        1. 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.

  40. 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?

    1. 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.

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

  42. 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!

    1. Could you try it like this please?


      [groups_member group="Registered"]

      This is visible to registered users only.

      [/groups_member]

      [groups_non_member group="Registered"]

      This is visible to non-registered users only.

      [/groups_non_member]

      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 😉

  43. 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
    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.
    thanks
    elvis

    1. 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.

    2. 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.

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

    1. Should be possible but has not been done yet.

  45. 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!
    Bill

    1. 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.

      1. 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.

        Regards,
        Bill

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

        2. 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.

      2. 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.

        1. antonio Avatar

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

  46. 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.

    1. 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.

      1. Allan EDMOND Avatar
        Allan EDMOND

        Hi,
        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 ?

        1. 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 …

          1. Allan EDMOND Avatar
            Allan EDMOND

            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 ?

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

        2. This will work now, try the latest release please.

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

    1. 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?

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

  48. 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.

    1. 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 …

      1. #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.

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

          1. 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.

          2. 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.

            1. 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.

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

    1. Not yet, but that would be a useful addition.

    2. 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

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

Share