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,691 responses to “Groups”

  1. Hey guys, is there a way to add multiple locations to a group?

    1. Hi Bart,

      I’d say that depends on what you’re using to manage locations … if you have a custom post type then you can restrict the location as usual, see Posts, Pages and Others on this for details.

      Cheers

  2. Hi Antonio & Kento,

    the login shortcode of the Groups Plugin has a small “stay logged in” checkbox. This checkbox stays without effect on my site since I am using another plugin that is limiting the user session time to 15 min. inactivity due to security reasons. The logged in function gets overruled.

    My question is would there be a possibility to hide this “stay logged in” checkbox in order to not confuse users?

    Thank you for your support,
    best regards,

    1. Hi Max,

      You can hide the checkbox by using the following CSS rule in your theme’s stylesheet:

      p.forgetmenot {
      display: none;
      }

      This will simply hide it from the users and should cause less confusion in your case. Thanks for using the plugin!

      Cheers

      1. Hi Support,

        thank you for your response and code, this sounds exactly like the fix I would need. I added the css code to the themes CSS (see screenshot), but unfortunately the “stay logged in” checkbox still appears on the groups login. (see screenshot)

        https://imgur.com/a/RqIsBwC

        Do you know what I am doing wrong or how to fix it?

        Thank you for your support,
        best regards,
        Max

        1. Hi Max,

          The snippet you have copied also managed to get the surrounding HTML tags from my comment added … that’s weird 🙂 Please remove the <code> and </code> tags so you only have this added:

          p.forgetmenot {
          display: none;
          }

          Cheers

  3. hi antonio,

    you dont need the groups import export extension to just import posts, products, etc with http://www.wpallimport.com/, do you?

    however, the products we have imported do not show up at all without or with groups access restriction. the only time they show is when we disabled the groups plugin. any idea?

    We added a test product http://clients.azinity.com/wilsondesigns/product/test/ without using wp all import but with the groups plugin activated and miracously it shows up on http://clients.azinity.com/wilsondesigns/shop/page/4/ as well. any idea?

    tom

    1. Hi Tom,

      If the plugin you use to import also imports postmeta, then it will very likely have imported the restrictions set by Groups. You would need to make sure that the groups exist.

      Cheers

  4. Hi,

    Thanks for a great set of plugins. I have a question:

    At present, the core Groups plugin does NOT apply to WP media files, only to the associated attachment (posttype). The Groups File Access plugin-plugin, on the other hand, defines a separate area for restricted media items, but also does NOT cover standard WP media files.

    Thus, there is an important gap in funcitonality footprint – and arguably an often needed requirement.

    Extending your Groups plugin to provide such functionality, is technically speaking, pretty straight forward. (indeed you already have pretty much all the code you need, just a question pof how it is integrated).

    Is this shortfall you are planning on addressing, soon.? (Any good reson why not?).

    I ask, since my alternative is to extend your Groups plugin by writing my own plugin(-plugin) – since I am pretty lazy, and would rather just pay a reasonable price for something that exists. Do you offer any support for plugin-plugin writeres – technically or commercially?

    Many thanks

    Rob Cain
    Director, SystemCore Ltd, UK

    1. Hi Rob,

      You’re right, this is indeed a much needed improvement and I’ve been looking at the possibilities to do it several times but had to postpone due to other priorities up to now.

      We’re always open for suggestions and cooperation, if you’re still interested in this features, please let me know and we can see if we can figure out something in due time that would be a suitable solution.

      Cheers

  5. dhananjay Avatar
    dhananjay

    hI Kento,

    Can i use membership with a workflow plugin like editflow or oasis. or do you have your own workflow plugin which i can use alongwith membership?

    1. Hi,

      That’s interesting – I’ve had a quick look at both Oasis and Edit Flow. Would Zapier also be an option and what process would you need to implement?

      Cheers

  6. Hi,

    how can I check programatically whether a certain post or post_id is restricted a particular group. The thing that is configured in http://docs.itthinx.com/document/groups/access-control/posts-and-pages/ How can I check for an $id of a post that the current user could read it? Background is that we have internal pages that should not turn up in the Sitemap.xml as asked here: https://wordpress.org/support/topic/filter-to-exclude-posts-from-being-included-in-sitemap-xml/#post-10396177

    I want to make sure that group-restricted posts/products do not turn up in the Sitemap.xml.

    I looked at the Groups examples and API docs but could not find anything.

    1. Hi Jens,

      Please excuse the late reply and I hope this might still be useful. You can check this easily:

      $group_ids = Groups_Post_Access::get_read_group_ids( $post_id );
      if ( count( $group_ids ) > 0 ) {
      // this post is restricted by one or more groups ...
      }

      Cheers

  7. Prabin Dangol Avatar
    Prabin Dangol

    Hi,

    I want to use this plugin with Easy Digital Download Plugin. I want to create a group of customers(who have purchased the product) and make the forum available to them only.

    1. Hi and thanks for asking, I can only recommend to base this on WooCommerce instead. We already have a solution for it https://woocommerce.com/products/groups-woocommerce/ which is amply used. I hope this helps!

  8. Siva Teja Varma Avatar
    Siva Teja Varma

    Hi Kento

    Disabling “Ion Library Importer New” and “Ion Ga Tracking” plugins doesn’t work.
    Even I have disabled most of the active plugins and tried to use ‘Groups’ plugin, but it’s still not working.

    I have also tried changing the themes and importing some capabilities from other sub-site, None of them worked.

    Please let me know if you require any other information.

    Regards
    Siva Teja

    1. Hi,

      That’s strange, but at some point a plugin created a conflict, probably messing up the options. What you could try is to disable all other plugins except Groups, use a default theme like Twenty Seventeen, enable debugging and check the debug.log again – if the error still appears, then it’s certainly due to that.

      Cheers

  9. Ben Laor Avatar

    Hello,
    I have a very obscure problem with the “groups” plugin, i’ll try to explain it as best i can:
    I have products that belong to a group of registered users (so only logged in users can view them)
    I also have a product that everyone can view (because it belongs to no groups)
    Now lets say i have two different browser sessions open, one as a logged in user, and the other as a “guest”, both on the front page of my store where i see a bunch of products for the logged in session, and one product for the “guest” session.
    I go into my admin area for the site (in a completely independent session) and i press update on a product (without changing anything and no matter which product)
    If i go to the “guest” session and refresh, and then go to the logged in session i would see only my “guest” product and none of the logged in products i am supposed to see. If i go and press update again, and this time refresh on my logged in session, i will again see all the logged in products normally. It seems like whichever session i refresh first after updating any type of product (changed or not) it would kind of “set” the front page display according to that session, and it would stay that way until i update again and refresh with the logged in session first.
    This only happens if the groups plugin is active by the way.

    I am using wordpress 4.9.5,
    woocommerce 3.3.5,
    groups 2.3.1

    If you have any idea as to what is causing this or any direction i can pursue i would be most grateful as i am at a loss… (been wracking my head over this for days)
    If you need any additional information feel free to contact me by email or in here

    1. Hi Ben,

      This is most likely an issue with caching – if you have caching enabled for users that are logged in, then you must disable it – otherwise the cache is taking whatever was seen last and will present it to both normal visitors and authorized users.

      Cheers

  10. ben laor Avatar

    I have been using the groups plugin for quite a while. I used the plugin to create two different groups (students, alumni) and added access capabilities for both (student_access, alumni_access). Then i added these different capabilities to users in my site and to products in my woocommerce store (so students have access to different products than alumni) and everything worked great!
    I recently updated groups plugin to the latest version and all the products that were marked with the groups access capabilities disappeared. If i delete the groups plugin they reappear but obviously i lose the groups functionality which i need so much. Have you run into an issue like this? if so, do you know how to solve it?

    1. Hi Ben,

      I see that you have a more recent post and will answer to that one in a moment, but just from what this sounds like it might be related to migrating from Groups 1.x to 2.x – in case you haven’t seen it yet: http://docs.itthinx.com/document/groups/migration-guide/

  11. Siva Teja Varma Avatar
    Siva Teja Varma

    Hi,

    We have also noticed that we are unable to save the Groups-> Options and facing this error:
    Fatal error: Cannot use string offset as an array in /var/www/html/support/wp-content/plugins/groups/lib/core/class-groups-options.php on line 139

    Debug log:
    edited – moved to https://pastebin.com/AUNiZZR3

    1. Thanks for the logs, it seems that the plugins “Ion Library Importer New” and “Ion Ga Tracking” are messing with WordPress options. Please try to disable these and the errors should be gone.

  12. Siva Teja Varma Avatar
    Siva Teja Varma

    Here is the trace:

    edited – moved to https://pastebin.com/dGdh5Kt5

  13. Siva Teja Varma Avatar
    Siva Teja Varma

    Hi Antonio

    This is the error we have found in debug mode:
    [27-Mar-2018 11:14:47 UTC] PHP Fatal error: Cannot use string offset as an array in /var/www/html/support/wp-content/plugins/groups/lib/core/class-groups-options.php on line 161

    Regards
    Siva Teja

    1. Hi Siva,

      Thanks for the that, is this the only line that appears in the debug.log? It’s difficult to say without knowing the surrounding context. Can you please post the full trace related to this line?

      Cheers

  14. Hi Antonio

    We have network activated ‘Groups’ plugin and is working fine for one sub-site, While for the other subsite its showing a blank screen if user searches some thing in Groups or Capabilities.
    Also as a admin I am unable to save the configurations under Groups->Options , After clicking on save its again showing a blank screen and the changes are not getting saved.

    Please let me know, How to fix this Issue.

    Regards
    Siva Teja

    1. Hi Siva,
      The plugin should work in multisites. Maybe there is another problem, please try enabling WordPress debug, editing your wp-config.php file and replace the following line:
      define('WP_DEBUG', false);
      with these lines:
      define('WP_DEBUG', true);
      define('WP_DEBUG_LOG', true);
      define('WP_DEBUG_DISPLAY', false);

      Then try to visit the Groups admin screens in the subsites.
      A new debug.log file must be created in your wp-content folder is there is a problem.
      Kind Regards,
      Antonio B.

  15. Hi

    With [groups_user_groups] I obtenin the group name by user. I would like to know how to obtein the group_ID of these groups name.
    thanks in advance.

    Regards, Ana.

    1. Hi Ana,
      If you want a shortcode that displays the groups name and the id, you can add this code in your functions.php file, and use the new [groups_user_groups_id] created.
      Kind Regards,
      Antonio B.

      1. THANK YOU VERY MUCH Antonio.

        1. You’re welcome !

  16. Thank you for the excellent plugin! Is there any plan to include an option to specify the direction (including bi-directional) of inheritance for particular capabilities? Here is an example of what I mean by direction of inheritance. For a nested group like:

    Company
    Region A
    Office A
    Office B
    Region B
    Office C

    I’d like read capabilities to be bi-directional: content restricted to Company can be viewed by all other groups in this list. Content restricted to Office A can also be viewed by Region A and Company, but not by siblings or aunts and cousins (so to speak).

    I’d like edit capabilities to be inherited bottom-up: the company should be able to edit any content created by anyone in any of the other groups. An office should only be able to edit its own content. A region can edit its own content and any content in its child offices. In this scenario, parents always have more edit capabilities than their children.

    To clarify my above definitions: I’d describe the current inheritance pattern as top-down or additive – the top level group has the fewest capabilities compared with its children and grandchildren, who have the most capabilities.

    It is possible to manually create the bi-directional scheme I described by making sure that, for instance, a company level user is also added to all of the region and building groups (which is potentially a lot of groups). I could be missing something, but I don’t think it is presently possible to create bottom-up capabilities without doing something (TBD) with the API (the existence of and documentation for which is greatly appreciated).

    This is what I’ll probably end up doing for edit capabilities, but I’d be really interested to hear if there are any plans for adding more control over inheritance patterns.

    1. Apologies – the formatting on the example got munged when I clicked submit. Here’s this instead:

      Company
      –> Region A
      —-> Office A
      —-> Office B
      –> Region B
      —-> Office C

    2. antonio Avatar

      Hi Jen,
      With Groups you can do the first step: “content restricted to Company can be viewed by all other groups in this list.”, but not the second. In our case, the inheritance indicates specialization, so that the children can see more than the parents. I’ve been thinking of some solution to do it bottom-up, but I do not find anything immediate, you should use the API and create a customized solution for your case.
      Kind Regards,
      Antonio B.

  17. what are the limitations on how much of a page’s functionality you can really customize with JUST the standard features of this plugin (meaning without having to do any heavy scripting)? I use a WooCommerce plugin for an online store, and was wondering if there was a way to hide the pricing from a specific customer, while still being able to place an order. Ideally I would be able to remove the payment options from page entirely, but it would still produce some sort of order for us to process at our facilities. Is this a difficult process to achieve with this plug-in. Does anyone have any insight?

    1. Hi jack,
      You can use our Groups Woocommerce Purchasable example plugin.
      Kind Regards,
      Antonio B.

  18. Hi,
    I went through documentation many times but looks like I am missing something here.
    Is there any way to show the hierarchy of the users like admin, manager, supervisor, and user on the front end side. I do see under Groups-> Tree.
    However, I was wondering if we can see something like this-

    Admin(can see/ edit/delete)
    – Manager
    – Supervisor
    – User

    Manager (can see/ edit/delete)
    – Supervisor
    – User
    Any help is really appreciated!!

    1. Hi Bindu,

      There’s this plugin which is close to what you’re asking for I think: https://github.com/itthinx/groups-list-users it provides a shortcode you can use to list the users for a specific group.

      It doesn’t provide the full hierarchy, but maybe this helps you?

  19. Kind greetings,

    I am looking for a way to show how many times a customer has ordered on our invoices. (We use PDF invoices and packing slips). Do you have a plugin that might do something like this? I could use groups if there was a way to assign them to a group automatically based on how many times they have ordered?

    1. Hi Jon,
      With Woocommerce Groups by sales you can add your customers to groups according to the total amount of all their purchases, or the number of purchases.
      Kind Regards,
      Antonio B.

  20. Hi, I’m a developer, I do not ask for support but I’d like to better understand if Groups can be useful for my next project. Basically, I’ll have to group users, and that’s what Groups is for, ok. But Iwill need 2 additional things, that I plan to code by myself:

    1. Frontend: users should be able to register, and while registering, they should be able to choose what group they will belong to.

    2. Frontend: users should have a profile page where they can change their group.

    3. Backoffice: I would like to add a calendar to each Group edit view. This is because users belonging to a specific group, will be able to do some specific actions based on that calendar. Each group will have its own calendar.

    So, it it technically possible to:

    – Let users choose the group they will belong to while registering?

    – Let the users change group on a profile page after registering?

    – Modify the admin Group edit view with other things, specifically, add custom fields to it? Maybe using ACF plugin (or even coding, no problem)?

    I just want to know this things. Could you give me these infos and/or eventually give me some suggestions?

    Thank you, regards

    1. Hi Luca,
      1.- With Groups User chooses plugin you can do it.
      2.- With the plugin above, you have available the [guc_select /] shortcode.
      3.- Sorry, the Groups are not custom post types, so you can not apply them ACF. You have available the Groups API that you can use to create your own solution, maybe creating calendars as custom post types and restrict them with groups.
      Kind Regards,
      Antonio B.

      1. ok thank you Antonio

  21. I was testing groups for use in access control, but it sort of breaks my site. I cannot create new pages – I just get a warning, same as below.

    In the “groups” box at the “add new page” I get the following warning:

    Warning: count(): Parameter must be an array or an object that implements Countable in /home/devringoflife/public_html/wp-content/plugins/groups/lib/core/class-groups-group.php on line 635

    I really like the concept of the plugin, but it has to work obviously.

    I am running wordpress 4.9.2 and using the Enfold theme. The site is a staging and testsite with an almost fresh install.

    I realize that groups is untested with my version of wordpress, but thought you should know.

    Thanks, Rolf

    1. Hi Rolf,
      Groups should work with the 4.9.2 WordPress version.
      It seems that something was not installed well. If you can, uninstall the plugin by deleting the data and tables (from Affiliates->Options you have an ‘Delete all Groups plugin data on deactivation’ option), and reinstall the plugin.
      If the problem persists, please let me know.
      Kind Regards,
      Antonio B.

  22. Hi,
    Parent hierarchy works fine for me for pages and posts, but when I try to implement it through shortcodes it does not work. I have to specify each group in a shortcode. Is it supposed to be this way? Or may be you have a solution?

    1. Hi Vadim,
      Right now it’s the correct way, you need to set all groups.
      It sounds logical to be able to filter the children automatically, we will review it, thanks for the contribution.
      Kind Regards,
      Antonio B.

  23. Hello,

    We are facing below Issue with the Groups plugin:

    Once the Groups plugin is activated we are unable to Bulk Edit pages (Default Functionality from the WordPress) also for Some subsites we are unable to load Dashboard-> Appearance-> Customize page.

    FYI- We are using Zephr themes version 4.2, Can someone please let me know the configurations that need to be done for Bulk Edit pages to be working along side with the Groups plugin.

    Regards
    Siva Teja

    1. Hi Siva Teja,
      Sorry, I can not replicate this issue.
      Try to enable WP debug editing your wp-config.php file and replace the following line:
      define(‘WP_DEBUG’, false);
      with these lines:
      define(‘WP_DEBUG’, true);
      define(‘WP_DEBUG_LOG’, true);
      define(‘WP_DEBUG_DISPLAY’, false);
      after that add a file named debug.log under your wp-content folder.
      Then try to run your “Bulk edit page” action.
      When performing the actions i mentioned keep checking your wp-debug.log file in case there are issues logged.
      Kind Regards,
      Antonio B.

  24. Hi, is it possible to have a (restricted) member list page?

    Cheers, Dennis.

    1. Hi Dennis,

      Yes, maybe this plugin can help you https://github.com/itthinx/groups-list-users – it provides a simple shortcode to list users. You can use and extend it appropriately for what you want to display. You place that on a page with restrictions on itself or on its content.

      Cheers

  25. Dear itthinx team, I did write you an extensive support request yesterday. When browsing through earlier issues you helped me solve in the past I had to realise that I wrote you a very similar request April 19, 2017 at 3:43 pm. You did provide me with a quite interesting possible solution which I pursued but never managed to get working for some reason. As priorities shifted within my project I could not pick it back up again until now. Now having to face that same problem again I will start by trying to implement your suggested solution from back then. In case I hit a wall I would reply you to your answer back then. Anyways, I truly appreciate your dedicated support and helping with rather complex issues and apologise for my rather long problem descriptions at times.

    1. Hi Max,
      Do not worry about the descriptions, this helps us to understand the scenario better.
      If you prefer, open a topic in the forums.
      Kind Regards,
      Antonio B.

  26. Hi Groups team,

    I am using the groups plugin successfully for a while now and It did a good job when restricting entire pages or single sections to different user groups or groups with different sets of capabilities. I am working with wordpress using a theme that uses visual composer and the shortcodes that come along with it. So the way I have it setup now is the way below making sure users
    1) have to be logged in to see the page content
    2) only see the entire content if they are allowed to see
    3) showing the user informative message in case they have to log in to see the message or in case they are simply not allowed to see the content.

    (For further detail on the shortcodes and sequence I used plese see below.)

    So far so good but I now need to implement more than one layer of restricted content. So instead of either showing an entire site, or one item of content to a user or not I have to add addtional layers. With this i am failing so far. It seems the opening and closing parts of the shortcodes do not connect anymore and instead of restricting content they get displayed as if they were actually visible content.

    What I would need to do in particular is make sure that on top of the functionality provided so far I can add a second layer of restriction making some content elements available to this group of people and others available to that group of people alternating while at the same time making sure all users have to be logged in to access the content.

    A scenario I would need to enable is:
    1) have to be logged in to see the page content
    2) only see the entire content if they are allowed to see
    3) showing the user informative message in case they have to log in to see the message or in case they are simply not allowed to see the content.
    4) still within the people allowed to see that particular site, there will be certain videos, text blocks or images only reserved to a particular user group.

    I am struggeling to make item 4) work for different usergroups without breaking the code and having the site show shortcode bits as if it was actual content.
    I did try to render my own shortcodes within visual composer for the groups short codes as well but this did not improve things unfortunately.

    ———————————
    More detailed info on what shortcodes I use and in which sequence:

    [groups_login]

    [groups_non_member group="Registered"]Please Log in.[/groups_non_member]

    [groups_can_not capability="see_page_X"]sorry you are not allowed to see X[/groups_can_not]

    [groups_can capability="see_page_X"]

    ALL THE PAGE CONTENT

    [/groups_can]
    ———————-

    When dealing with a plugin that is using visual composer some those shortcodes has to be implemented into visual composter shortcodes like “rows” and “page sections”. This is where I think the poblem actually comes from and where I am desperately looking for a solution.
    The way I have things implemented in functionally so far is like below.

    [vc_row][vc_column][mk_padding_divider size=”20″]
    [groups_login][/vc_column][/vc_row]

    [vc_row css=”.vc_custom_1470306330188{margin-bottom: 10px !important;padding-top: 0px !important;padding-right: 0px !important;padding-bottom: 0px !important;padding-left: 0px !important;}”][vc_column]
    [groups_non_member group="Registered"]Please Log in.[/groups_non_member][mk_padding_divider size=”20″][/vc_column][/vc_row]

    [vc_row css=”.vc_custom_1470306330188{margin-bottom: 10px !important;padding-top: 0px !important;padding-right: 0px !important;padding-bottom: 0px !important;padding-left: 0px !important;}”][vc_column]
    [groups_can_not capability="see_page_X"]sorry you are not allowed to see X[/groups_can_not][/vc_column][/vc_row]

    [groups_can capability="see_page_X"]

    ALL THE PAGE CONTENT

    [/groups_can]

    ———————-

    Please let me know if you have experience or input on how I could solve my problem since I really like the plugin genereally but now have to move on to a bit more advanced setup.

    My site is uploaded but passworprotected, let me know in case you would need access to have a look.

    Best regards,
    Max

  27. Can I get you guys to implement integration with Zapier and/or IFTTT? I’m trying to use Thrivecart to add customers to groups (like I can with WooCommerce, which I’m trying to transition away from to Thrivecart), and my dev guy says the two just won’t talk to each other (Thrivecart and groups), and he’s investigated the Groups API.

    I rely heavily on your products, and don’t want to move to another access management tool!

    Help!

    1. Hi David,

      Thanks for getting in touch David, I’ve tried to find your account but can’t locate any related to your email or website. Can you please get in touch via support at itthinx dot com with an order number so we can check your access and make sure you can also post in the forums?

      Now regarding your suggestion. I’d certainly be interested in working out an integration with Zapier and am curious to know which aspects you would want to connect. Also I’d like to know what motivates the move from WooCommerce to Thrivecart …

      Cheers

      1. One example of a useful Zapier integration would be with Documentation. I.e., so that Zapier could upload documents to the site and specify which groups can access it.

        1. Hi Sonny,

          Many thanks for the suggestion, I’ll take it into account.

          Cheers

  28. When doing a search on, for instance woocommerce products, how would we filter only visible products/posts in the query using wpdb?

    1. Hi DarkAllMan,
      You can use the Groups_Post_Access class available in the Groups API. Maybe this code can help you as example.
      Kind Regards,
      Antonio B.

  29. How can I show on a post what groups are allowed to read that post?

    1. Hi Dan,

      It depends … if the post is fully restricted, those who can’t access it won’t see it. In that case you could use the [groups_sandbox_posts] shortcode provided by this free extension Groups Sandbox (details on that page).

      If you only restrict content partially on the post, you could state it on the first’s excerpt or within its content. See the Content Sections documentation for details.

      Cheers

  30. Hi,

    I’m trying to figure out if it’s possible to edit the [groups_join group="X"] button shortcode to make it a different color rather than the default gray. I’ve read something about using CSS but I’m pretty new to all this so I’d appreciate step-by-step help. How would I make this formatting?

    Thanks!

    1. Hi Tony,
      You can use this css code:
      .groups-join input[type="submit"] {
      background: red;
      }

      You need to add this code in your styles.css file of your child theme (wp-contents/themes/your-child-theme-folder)
      Kind Regards,
      Antonio B.

  31. Hi Antonio,

    I’m using groups to restrict access to a large number of pages. I notice that previous to a recent update, if a page was restricted to all but a certain group, users who were not members of this group could not see a link to this page in a wordpress menu. I notice that after updating the plugin, everyone can see these restricted pages in menus, though they cannot access them without privileges.

    This is a major problem for my site, as I only want visitors to be able to see pages on the menu that they have access for. Any ideas?

    Thanks,

    1. Hi Colin,
      The menu restrictions should continue working as before. Please try enabling the “Enable legacy access control based on capabilities” option from Groups->Options.
      Please use the forums for support questions.
      Kind Regards,
      Antonio B.

  32. Hi there,

    I’m using “members” plugin along with “groups”.

    So, I have customers who are automatically added to particular “role”. I can manually add users to particular “group”, but is there a way to assign a registered customer to particular “group”?

    For example, I created ‘VIP’ group. So, when user signs up, he or she is automatically assigned as VIP group.

    please help.

    Thanks.

    1. Hi Jay,
      You can use this code in your functions.php child theme’s file, changing ‘Premium’ by ‘VIP’.
      Please use the forums for questions.
      Kind Regards,
      Antonio B.

      1. Hi antonio,

        Thanks for help. So, the code you provided will automatically assign “VIP” role to particular group (for example “VIP-Domestic”)?

        1. Hi Jay,
          No, with this code, new users are automatically assigned to the ‘VIP’ group.
          Kind Regards,
          Antonio B.

          1. Is it possible to add users of a particular Role (in our case “Give Subscribers”) to a Group? Something similar to this, except anytime someone is added to the “Give Subscribers” role, they’d also be added to the “Core Leaders” Group.

            1. Hi Tevya,
              with Groups User Chooses you can select the default regitration groups, and/or groups according to the role where the user is added.
              Kind Regards,
              Antonio B.

              1. Thanks @antonio, that’s almost what I need. Except we’re using GiveWP.com for donations, and it appears that plugin only works with WooCommerce and WP’s built-in registration. We also need to remove them from the group, if they’re moved to another user role.

                1. Hi Tevya,
                  Yes, the plugin is based in the ‘set_user_role’ hook of WordPress (it really is not necessary to use woocommerce).
                  By example, if the user was ‘author’ and he is changed to ‘editor’, then the user is removed from the author’s groups, and added to the editor’s groups.
                  I have not tested the plugin with GiveWP, if you send me an email to info[at]eggemplo[dot]com, I can send you a copy so you can try it.
                  Kind Regards,
                  Antonio B.

  33. Hi, great plugin…

    I haven’t used the plugin yet but was wondering if this allows for user created and managed groups or if it’s just under control of the admin. I am hoping to find somewhere where they user base can create their own groups.

    Thanks much,
    Chris

    1. Hi Chris,

      Thanks for asking! Currently group creation is only handled on the back end although work is being done to extend this but I can’t really give an ETA for these features.

      Cheers

  34. I downloaded and activated Groups 404 Redirect. In settings, Redirect to wordpress login is checked and the Redirect restricted categories is checked. Yet when one not in the group selects the restricted content, he/she still gets a 404 error. Your plugin is not working.

    1. Hi John,
      Please open a topic on the Groups forum with this question, adding your plugins version.
      Thanks,
      Antonio B.

  35. I purchased the Groups Restrict Access add-on and it seems to work. That is, when one not in the group tries to read a restricted post, he/she is not allowed to see the post. That’s the good news. The bad news is that visitor, not in the group, gets a 404 error. What he/she should get is a restricted access message or a redirect to the log in page.

    1. Hi John,
      You can do it with the Groups 404 Redirect plugin.
      Please use the forums for questions.
      Kind Regards,
      Antonio B.

  36. Pre-sales question:
    I’d like to restrict viewing a category of posts to all users, but not to visitors (the public). I have set a group and all registered users are in the group. If I purchase your add-on “Restrict Categories” will it permit only those in the Group to read the restricted category of posts ???
    Other categories of posts are to remain readable by all, i.e. registered users and the public.

    Is this do-able???

    1. Hi John,
      Yes, you can do it using the Groups Restrict Categories. This works like the Groups plugin, but applying the restriction by categories.
      On the documentation page you can see more information about the plugin.
      Kind Regards,
      Antonio B.

      1. John Romaine Avatar
        John Romaine

        Could this be a solution for my question above?

        Restricting everything in the back end to dedicated moderators but keeping everything open in the front end to the public.

        1. Hi John,
          Sorry, you can not do it. You can restrict content to users who are in a group, but not restrict content to a group and keep the content free to the public, if a content is restricted to a group, only the members of this group can see the content.
          Kind Regards,
          Antonio B.

  37. Hi,

    is it somehow possible to set a default group for new posts?
    Some members of my site often forget to set an group and this leads to invisible post and missing notifications for other members.

    Thanks,
    Chris

    1. Hi Chris,
      On this comment you have a code that you can use.
      Kind Regards,
      Antonio B.

  38. Hi,

    I’m using this plugin to control access to certain posts and it’s working perfectly, however, I ran into an issue with Mailpoet.

    Posts that are group-restricted are not sent through Mailpoet’s newsletters (they show up on the newsletter preview, but don’t appear on the emails that are sent).

    Is there a way to change this?
    Thanks, beforehand.

    1. Hi idbcm,
      Exactly what plugin are you using? So I can check how it works.
      Kind Regards,
      Antonio B.

      1. Hi, thanks for the reply.

        I’m using Groups to control the access to certain posts and Mailpoet to send the automated post notifications. They’re not playing well together (the restricted posts are not sent through Mailpoet to the mailing list subscribers, even though they appear on the newsletter preview).

        If you have any idea what needs to be changed, please let me know.
        Thank you.

        1. Hi idbcm,
          Really I don’t know how the MailPoet plugin works. There are multiple MailPoet plugins, please give me exactly what are you using and I’ll try this.
          Kind Regards,
          Antonio B.

          1. Hi,

            Of course. I’m using Mailpoet 3 (latest version):
            https://wordpress.org/plugins/mailpoet/

            I really appreciate your help.
            Thank you!

            1. Thanks,
              I have been testing the plugin, but by how it works, it only adds the articles that are not protected to the newsletter. During editing you see all articles, because you are logged in as an administrator. But when the email is sent, only the not protected are included.
              Kind Regards,
              Antonio B.

              1. Hi, Antonio,

                Thank you again for your reply. Yes, it appears to be doing that. I also tried with a different plugin, and the behavior is the same.

                As far as the Groups plugin goes, do you know if there’s something in the code that controls this? Because I’m using a mailing list set up with Mailpoet to send these protected articles to specific people, if I could simply disable the Groups functionality when sending the newsletters, I think that would work.

                Thanks.

                1. Hi,
                  Having a look at the Mailpoet plugin, I can see in mailpoet/lib/Newsletter/AutomatedLatestContent.php line 61, this instruction: $parameters['suppress_filters'] = false;. If I change ‘false’ to ‘true’ it seems to work. Maybe a filter here would be great, but I think it does not. If you ask the creator of the plugin maybe he can help you.
                  Kind Regards,
                  Antonio B.

                  1. Hi, Antonio,

                    It seems to be working.
                    Thank you so much for your assistance!

                    1. Perfect, kind regards !

      2. Hi,

        Do you have any idea of how to get around this? I’m using Groups with Mailpoet.
        I tried having a look, but for both plugins there are thousands of lines of code and I couldn’t figure out what could be causing the issue on either.

        Thank you.

  39. Awesome! Thank you! ?

  40. Hi!! There:

    I Have a question, How can I display a List of members of a specific group. e.i. The name of the group is: “Silver”, how can I display a List of members of this group. I Had installed the plugin: https://github.com/eggemplo/groups-list-users/blob/master/groups-list-users.php ,but after activate it, nothing happened, What can I do ¿?.

    1. Hi Rulo,
      After install the plugin, you need to use the shortcode [groups_users_list_group group_id=”xx” /] You need to change xx for your group_id (integer number)
      Kind Regards,
      Antonio B.

  41. Hi Antonio,

    Is it possible to have all content created by users to be only visible within their group automatically – without selecting the privacy options? Or to ask it another way, how can I programatically set certain custom post types to be restricted to members of the author’s group?

    1. Hi Neil,
      Using the Groups API, you can check the current user capability/group, so when a post is saved, restrict this.
      Maybe this code can help you as reference.
      Kind Regards,
      Antonio B.

  42. Hola Antonio,

    If a post / page is restricted to a group_A, then only the users on this group_A or group_A_1 / group_A_2 … (children of group_A) can access this post / page.

    But with the use of shortcodes, it works the same?

    [groups_member group="group_A"]
    some text example…
    [/groups_member]

    Now, children of group_A, group_a_1 and group a_2 can see this restrict content or not?
    Or only can see this text the users off the group A? and their children can’t see this content?
    If cannot see, there is a solution / arguments to add in the shortcode to make it possible?

    Sergio

    Thanks,
    Sergio

    1. Hi Sergio,
      Using the shortcode, you need to indicate all the groups, something like this:
      [groups_member group="group_A,group_A_1,group_A_2"]
      some text example…
      [/groups_member]

      We have noted it as a shortcode improvement, I’m sorry I can not give you a delivery time.
      Kind Regards,
      Antonio B.

      1. Hello Antonio, I understand that there is still no solution to the shortcode problem that I mentioned to you a while ago?

        Thanks,
        Sergio

        1. Hi Sergio,

          It’s still pending, my concern is that it would change the outcome on existing sites which could lead to undesired results in some cases. But otherwise I think it would be appropriate to have it take those group hierarchies into account by default.

          Cheers

  43. John Romaine Avatar
    John Romaine

    Hi Antonio,
    I am currently testing this plugin and it works very well. Thanks for producing such great software. I do however have a question that I’m hopeful you can help me with.

    Id like to keep restrictions limited to users and groups in the back end, but have the front end completely open to the public. In other words, I only want restrictions applied to users in the back end, so that they can only update, delete and edit content that they have access to, but at the front end (what the actual public sees) everything should be viewable.

    Does that make sense?

    At the moment when I create a piece of content and assign it to a certain group, it disappears from the front end because members of the public aren’t of course members of any groups.

    I would happily pay to have this feature added.

    Thank you.

    1. Hi John,

      Many thanks for your feedback and question about the plugin. What you’re asking sure makes sense to me, in fact, it’s part of what I’m currently working on. Can’t give an ETA on these features yet except I’d like to see these things available ASAP … I assume you’re working on a project where you need to have more fine-grained access restrictions related to who can edit what – just where you already show content to the public openly, instead of hiding it on the back end, to restrict who is allowed to edit, delete, update etc. makes more sense in general applications.

      Do you have a schedule for your project?

      Cheers

      1. John Romaine Avatar
        John Romaine

        Hi Kento,
        Thanks for the response mate I appreciate it.

        Answer to your comments and questions below…

        it’s part of what I’m currently working on. Can’t give an ETA on these features yet except I’d like to see these things available ASAP …

        Excellent, sounds great.

        I assume you’re working on a project where you need to have more fine-grained access restrictions related to who can edit what – just where you already show content to the public openly, instead of hiding it on the back end, to restrict who is allowed to edit, delete, update etc. makes more sense in general applications.

        The plugin does exactly what I need it to in the back end, being able to assign content to specific users and groups is fantastic, I would just like the front end completely open. To both the public (regular web visitors) AND those that have restrictions in the back end.

        For eg. I am using your plugin on a car site. Ive created a number of groups, and assigned users that are knowledgeable about certain types of cars in those groups. So members that are experienced and knowledgeable about 1965 Ford Falcons, can contribute and control content about 1965 Ford Falcons, but not have access to any other types of cars in the back end, HOWEVER they can see ALL the cars on the front end. Members of the public of course can see everything on the front end as well.

        In other words, restrictions are applied as intended by the plugin in the back end, but there are NO restrictions at all on the front end.

        Do you have a schedule for your project?

        At the moment Im doing research and testing etc, but I would like to get this over to my web guy within a week if possible.

        Thank you.

        1. Hi John,

          Thanks for your comments, from what you explain, what I understand is that this is basically restricting who can control content on the back end, although that content is publicly visible.

          The difference in what I’m working on and how you have outlined it, is that in the model I consider, users won’t be locked out completely from viewing things on the back end (unless it’s protected content), but they wouldn’t be able to create, edit or delete stuff unless they have the right permissions.

          It’s been almost a couple of weeks since you posted (and sorry it took so long to reply) – I imagine you’ve moved further with your project now. Unfortunately I don’t see a chance of providing you with something you could at least test for your purposes shortly. Sorry this doesn’t help much for now …

          Cheers

          1. John Romaine Avatar
            John Romaine

            Thanks for your comments, from what you explain, what I understand is that this is basically restricting who can control content on the back end, although that content is publicly visible.

            That’s exactly right.

            I don’t want any restrictions on the front end. I want it open so everyone can read it.

            Surely this is an easy thing to do? Wouldn’t it simply be a matter of removing code?

            1. Unfortunately not, John. It might seem easy by concept, but it’s technically rather complex and there are many important aspects from performance to security involved … it’s not a matter of removing code … I wish it were that simple 🙂

  44. When setting group capabilities and using the parenting functionality i noticed that capabilities a group inherits still shows up in the capabilities list that can be assigned to the group in the editing section.

    Suggestion:
    I think it would be nice if Capabilities aren’t shown when a group already inherits those capabilities from a parent.

    1. Hi, many thanks for the suggestion. I think that removing the capability would be too restrictive (you simply might want to add it although the parent already has it). But we could mark them as already inherited, I’ve taken note to include this improvement. Thanks!

      1. You have a good point, it might be to restrictive yes. It would be nice tough if the capabilities were marked if they are inherited. Currently i am making a wordpress site where information needs to be managed for groups of users and till this far the groups plugin is working perfectly. Thanks for building a free plugin with these capabilities 😉

        1. Many thanks for your suggestion, and I’m always happy to hear that it’s useful 🙂

  45. Hello
    I’m using Wp All Import in my site. Is it possible to import posts with groups restriction?
    Regards

    1. Hi Loic,
      You can do it using the Groups Import Export addon.
      Kind Regards,
      Antonio B.

  46. Hi there I have a question: Using Menu Item Visibility Control plugin how can i hide a item for a specific group ei. “Gold” or/ and “Silver”, not by role, I read in the comments something like “current_user_can(‘read’);” but if I want restrict/hide the item for a Specific Group, which will be the code?.

    1. antonio Avatar

      Hi Raúl,
      You can use something like this: current_user_can(‘your_capability’);
      Kind Regards,
      Antonio B.

  47. Hi! I just threw together a plugin that extends WP User Query to allow querying by Group IDs. If anyone finds it useful, it’s over here: https://github.com/yaronguez/wp-groups-user-query

    1. antonio Avatar

      Hi Yaron,
      Thank you very much for the contribution and share it.
      Kind Regards,
      Antonio B.

  48. Hello,

    How would I create a designated page so that a group member could easily view all the available content for their group. I have read the documentation several times and just don’t see anything that addresses this, unless I’m missing something. Seems like there would be a short code or something that would automatically populate a designated page with all of a particular group’s content.

    1. antonio Avatar

      Hi Rich,
      when an user visits your blog, directly he can only see the content that he has access to.
      Are you using any shortcode ?
      Kind Regards,
      Antonio B.

  49. Ganesh Avatar

    Can assign group admin? Who can manage there own group user.
    For example: A Group admin is user 1
    And it has 10 user which user 1 can manage. Like editing, approving, deleting, etc

    1. antonio Avatar

      Hi Ganesh,
      from Groups->Options you can set the Permissions. But if you need to change the user’s groups, you need to have access to manage the users, so you need to be Administrator.
      Really there isn’t an option to have a user who is admin only of his group.
      Kind Regards,
      Antonio B.

  50. Cliff DesPeaux Avatar
    Cliff DesPeaux

    Hi Antonio, thank you for the great plugin!

    Do you know if there’s a way to fix this minor UI issue? https://www.dropbox.com/s/p0mjxqw64yhvoxm/chrome_2017-07-06_12-36-40.png?dl=0

    1. antonio Avatar
      antonio

      Thanks Cliff,
      We will review it, thank you for notifying us.
      Kind Regards,
      Antonio B.

Leave a Reply

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

Share