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.

Extensions

  • See all related Premium Extensions for Groups in our shop.
  • Groups Drip Content is used to release content on a schedule. Content dripping can be based on user account creation, group memberships and specific dates and times.
  • Groups Restrict Categories features access restrictions for categories, tags and other WordPress taxonomies, including support for custom post types and taxonomies.
  • Groups WooCommerce Sell Memberships with Groups and WooCommerce. Groups WooCommerce grants memberships based on products. It automatically assigns a customer to one or more groups based on the products ordered. Use any payment gateway that is supported by WooCommerce, including PayPal, Stripe and many others. Groups WooCommerce also integrates with WooCommerce Subscriptions for a highly flexible membership solution.
  • WooCommerce Group Coupons This extension for WooCommerce uses Groups and WordPress roles to limit the validity of coupons.
  • WooCommerce Product Search is the essential extension for every WooCommerce store. It provides the best Search Engine and Search Experience for WooCommerce and is compatible with Groups and its access restrictions on products.
  • Groups Import Export provides import and export facilities for Groups. Users can be imported and assigned to groups, users can be exported in bulk.
  • Groups 404 Redirect allows to redirect visits to pages that are protected by Groups.
  • Groups Blog Protect restricts access to blogs based on group membership.
  • Groups File Access Groups File Access is an extension that allows to provide file download links for authorized users. Access to files is restricted to users by their group membership.
  • Groups Forums provides a powerful and yet light-weight forum system for WordPress sites.
  • Groups Gravity Forms allows to add users to groups automatically, based on form submissions.
  • Groups Newsletters helps you to communicate efficiently, providing targeted information to groups of recipients through automated campaigns.
  • Groups Notifications allows to send automatic notifications to group members and the site administrator.
  • Groups Restrict Comments Pro This extension for Groups allows to restrict who can post or read comments based on a user’s group membership.
  • WooCommerce Groups Newsletters The WooCommerce Groups Newsletters extension lets customers subscribe to newsletters at checkout.

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

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

Easy user interface

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

Sensible options

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

Access Control

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

Framework

  • 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

Your opinion counts

You & Groups

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

Feedback

Feedback is welcome!

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

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

Twitter

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

Introduction

Content Access Control

Access restrictions on posts

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

Content visibility for members and non-members

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

Example: Limiting visibility of enclosed content to registered users.

[groups_member group="Registered"]

Only registered users can see this text.

[/groups_member]

Content visibility based on capabilities

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

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

[groups_can capability=”edit_posts”]

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

[/groups_can]

Integration in the ‘Users’ menu:

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

Sections in the ‘Groups’ menu:

Groups

Here you can:

  • add groups
  • remove groups
  • assign capabilities to groups

Capabilities

This is where you add, remove and manage capabilities.

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

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

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

Options

Administrator override :

Administrator overrides can be turned off.

Permissions :

For each role these permissions can be set:

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

Testing the plugin :

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

Shortcodes

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

Download

Download the Groups plugin on WordPress.

2,679 Responses to Groups

  1. Karen December 28, 2013 at 8:46 am #

    Jetpack stats don’t show any visits to pages with restricted access. Is there a way around this? Viewing the control panel stats is not very helpful as it includes admin editing. How can I view how many people visit the restricted posts?

  2. Khairi December 27, 2013 at 4:55 am #

    Hi, I’m currently using the latest Groups plugin with WordPress 3.8, and I notice the Enforce read access field on post editor is only showing ‘groups_read_post’ as the only capability option, unlike when you editing the capabilities or groups. The autosuggest doesn’t seem to work on post editor. http://cl.ly/image/3y401w2j1P3W

    • antonio December 27, 2013 at 10:49 am #

      Hi,
      please be sure you have more capabilities selected on Groups->Options::Capabilities
      cheers

      • Khairi December 30, 2013 at 1:22 am #

        Thanks!

  3. Jason December 24, 2013 at 4:20 pm #

    Do you offer integration with Pinnacle Shopping Cart?

    • antonio December 26, 2013 at 12:38 pm #

      Hi,
      sorry, there isn’t integration with this shopping cart.
      cheers

  4. David Cruz December 23, 2013 at 7:31 pm #

    we’re developing a website that requires subscriptions to see and purchase certain content. We purchased WooCommerce subscriptions and WooCommerce groups. We ran into a problem where if a non-subscriber tried to see the exclusive content, it would take them to a 404 page. If a subscriber tried to see the content, it worked just fine.

    We installed the groups 404 plugin, but it’s not redirecting correctly (it is still going to Page Not Found). In the settings, when we put the Page ID we want it to redirect to, it shows the correct title of the page, but doesn’t actually work.

    You can see an example by clicking on “Download Document” on this page here: http://butlerwebanddesign.com/development/lawvex/?p=430

    • antonio December 24, 2013 at 8:28 am #

      Hi,
      please send us dashboard admin access to support at itthinx dot com and we’ll have a look.
      cheers

  5. Lis Bokt December 22, 2013 at 3:51 pm #

    I am trying to use groups_can_not and it is not working for me. I just see the shortcode displayed in plain text on the page.

    I have the correct spelling of the capability I am trying to use… I use the exact same thing as a groups_can earlier on the page. I cannot get any groups_can_not to work, or a groups_non_member.

    I am not using BP… are there any other major known conflicts? I’m not using anything else related to groups so I’m a bit confused.

    • antonio December 23, 2013 at 6:36 am #

      Hi,
      please give us the full page code used to have a look (please use pastebin.com).
      cheers

  6. Richard December 20, 2013 at 10:48 am #

    I recently updated from 1.3.6 to 1.4.4 and have a question regarding access restriction on pages.

    When enforcing read access on a page you select the capability allowed. Back in 1.3-version if the user had a role which had that capability the page content would be shown. Now in the 1.4-version you get thrown a 404 error unless the user is also in that specific group. The menu item is shown on both version but the page is only available (does not give a 404) for the 1.3.6 version I tested.
    Something has probably changed but I couldn’t find anything in the changelog about this change in behavior.

    Summary: User not in group but with correct capability due to role is shown the menu item but thrown a 404 error when trying to view the page in 1.4.4.

    Do you have any recommendation on how to continue using capabilities for page restriction (we use capabs for other things) and not forcing a user to be in a group?

    • antonio December 27, 2013 at 3:30 pm #

      Hi,
      the plugin continues to work with capabilities as ever.
      If you want you can send us dashboard admin access and an use case to check to support at itthinx dot com and we’ll have a look.
      cheers

      • kento January 1, 2014 at 11:24 am #

        @antonio He’s asking specifically about the necessity of being a member of a group that has a certain capability. The way this is implemented in Groups_User::can() is based on the group except for admin overrides. I think it’s at least worth to consider whether it should take the role-based capabilities into account here as well.
        @Richard I’ve taken note of this to review, thanks for commenting on that. I would assume that a solution for you would be to have the capability assigned to a group.

    • kento January 3, 2014 at 11:25 pm #

      Thanks for your feedback Richard, in version 1.4.5 which has just been released, the role capabilities are taken into account as well.

  7. Karen December 17, 2013 at 3:04 pm #

    Hi Antonio

    I have a similar question. My site offers a Sensei course and each lesson must only be visible to the member on a specific day of the week ie Day 1 on Monday, Day 2 on Tuesday etc. So I have got around it by hiding all the lessons to only be visible to me [groups_member group="admin"] then last thing at night I remove that setting each day for the next day.

    Is there any way I can automate that please so that the timing is consistent? (Sometimes I want an early night! 😉 )

    Thanks!
    Karen

    PS what plugin are you using to subscribe to followup comments please?

    • antonio December 18, 2013 at 11:49 am #

      Sorry, there isn’t a plugin for that functionality. You could use Groups API to implementyour own solution.
      cheers

    • kento December 18, 2013 at 5:58 pm #

      Subscribe to Comments Reloaded

      BTW it shouldn’t be too hard to create a shortcode [current_date date=”Monday”] that allows you to enclose content that is shown on a specific day of the week or date.

      @antonio But this isn’t really part of Groups, also I doubt that Groups’ API would be helpful in achieving that.

  8. Paweł Protaś December 15, 2013 at 12:06 pm #

    Hi, thank you for your great plugin. I have idea how use your plugin in my site, but I need your advice. I want to change look my site for logged user with group which create with help your plugin. For example a name of group is Platinum. I have idea that after login in a user with Platinum group have access to few hidden posts and whole site have diffrent look. My solution is add function which check user to what group assigned. If user assign to Platinum group then to body tag, I add class with name, for example platinum. Next I use this class to styling site in CSS files. After log out this class is deleted from body tag and the site looks normal. Is exist that function in your plugin to check user group (it’s similar as WordPress function is_admin()) ? If not, what is your advice how can I do it my idea?

    • kento December 19, 2013 at 10:34 am #

      Hi,

      For example:

      $body_class = '';
      if ( ( $group = Groups_Group::read_by_name( 'Premium' ) ) && Groups_User_Group::read( get_current_user_id() , $group->group_id ) ) {
      $body_class = 'premium';
      }

      Then you can print the $body_class inside the body tag’s class attribute.

      • Paweł Protaś December 23, 2013 at 8:05 pm #

        Thank you for help. It’s working.

      • Brian June 10, 2014 at 5:17 pm #

        Hi, I was wanting to do something very similar to this. However, my theme already is using the body_class function. How would I do the same thing but append my group name to the body_class array of class names so that the body still has the other classes still applied as well?

  9. Mark Rogers December 5, 2013 at 11:59 am #

    Hi

    I’m creating a diet site for a client.

    When a user first signs up they need to see one type of content for say 3 weeks, then after 3 weeks seeing a different set of content. (i.e. a quick site at first that then slows down)

    I would like to do this by each member joining one group using your plugin. Then after the 3 weeks has passed for that user – they are automatically reassigned to another group.

    Is there a way to a chi eve this using the Groups plugin.

    i.e. automatically change a users group after a set period of time from signup

    Thanks!

    Mark

  10. Nikos December 3, 2013 at 5:08 pm #

    Hi,

    I have already the following scenario using groups:
    20 capabilities
    20 Groups that have access to a one or more capabilities
    1 group that can post articles and also set restrictions to that articles using groups.
    20 articles categories with the same name as the capabilities/groups.

    When one of the users that allowed to post an article, selects the category (which this article belongs and also the capability with the same name). Everything works great, so users that access the web site and have access to certain posts based on the capabilites.

    What i want to is when a user with the ability to post an article choose one category then automatically assign that article with the the same capability name (for example – category name cat1 and capability name also cat1).

    I am thinking to edit WordPress article “save function”, so when the save action triggered automatically using groups API assign also the capabilities.
    The reason i want to do that is because manager users forgot sometimes to assign restrictions.

    What you suggest will be the best solution for that?

    Thanks

    Nikos

    • kento December 4, 2013 at 6:25 pm #

      Hi Nikos,

      I think it could be a sensible approach if you hook into category assignment, check the category based on an internal table (easier to implement for now) and restrict the post based on that. The class Groups_Post_Access provides the methods needed and there’s an example usage in this method.

      Cheers

  11. Aaron December 3, 2013 at 2:44 pm #

    Is there a way for the user after clicking on the button to refresh the page to show the hidden content and hide the content that was seen before clicking the button?

    I am asking because for example, when a user sees a page with content that is only for people not in a certain group along with a button to join that group and joins. There’s a message that says “You joined X group”, but it still shows the content that the user originally saw as a nonmember of the group.

    • kento December 4, 2013 at 12:21 pm #

      The buttons won’t support that, it would be possible using a solution with AJAX but you’d have to implement that.

      • Aaron December 4, 2013 at 1:44 pm #

        I see. How can I implement AJAX seeing the button itself does not have an ID or class?

        • kento December 4, 2013 at 6:33 pm #

          Google has lots of resources on that 🙂 Try a search for “turn form into AJAX” – note that you’ll need to handle the assignment but you should be able to derive the handling code from groups_join.

          • Aaron December 4, 2013 at 6:38 pm #

            I see. Thanks for the input. I was just asking because I didn’t want to have to edit the plugin itself.

            • kento December 4, 2013 at 7:02 pm #

              Ok I see, it would be preferable to do it outside so you don’t have to modify it itself. If you’re going to implement it and want to share your solution please do so, it could be interesting for others as well.

          • Aaron December 4, 2013 at 10:30 pm #

            I was having trouble with AJAX so I just opted to use pure JS. I ended up having to edit a file in the plugin folder. That file would be “class-groups-shortcodes.php”.

            Here’s a screenshot.
            http://grab.by/sA5I
            I added code as noted on lines 384-392 and added an onsubmit function on line 396.

  12. Aaron December 2, 2013 at 6:56 pm #

    Is there a way to program a button that an user can click to join a group?

  13. Bastien BC November 29, 2013 at 2:32 pm #

    Hey there!
    Seen people talk about buddypress, any news on that? Does the plugin integrates well with BP Groups?
    Regards,
    Bastien

    • antonio November 29, 2013 at 2:45 pm #

      Sorry, there is conflicts with BP Groups.
      cheers

      • Bastien BC November 29, 2013 at 3:16 pm #

        Is it a big conflict? Do you have any clues about the root of the problem? I have a team of developers on my hand, how hard would it be to find a fix?

        • kento December 2, 2013 at 9:49 pm #

          I’ve seen people say they work together as well as they don’t 😉 One thing I know is that BP invokes actions that are also defined in Groups, so there’s a source of conflict but not necessarily a dead end. I’d be very happy for other to participate in seeing where we there are issues and resolve them. I think the two could play along nicely.

  14. Stephen November 28, 2013 at 7:14 am #

    Hey Community,

    Just wondering if there’s anyway to restrict the subscriber to only be logged in on one computer at a time ?

    so they don’t share there log in with all their friend etc.

    thanks for the help

    Cheers
    stephen

    • antonio November 28, 2013 at 8:41 am #

      Hi,
      there isn’t this limitation on Groups. This plugin seems to do it.
      cheers

  15. MikeS November 22, 2013 at 10:44 pm #

    does groups come with HOOKS. I’d like to be able to integrate groups with phpbb on my wordpress installation and it sure would be nice to do it through hooks

    • antonio November 23, 2013 at 7:07 pm #

      Hi,
      there isn’t a hook’s list written, but the plugin uses a lot of hooks, you can use Groups API as reference.
      cheers

  16. Christian November 15, 2013 at 11:54 am #

    Hi

    I have several groups. Users can be in more than one group at the same time. How can I make “latest posts” available to users depending on their group memberships?

    Thank you

    • antonio November 18, 2013 at 8:30 am #

      Hi,
      by default “latest posts” shows posts filtered by group memberships. Beware if you are an administrator and you have selected “Administrators override all access permissions derived from Groups capabilities.” on Groups->Options you will see all posts.
      cheers

    • Christian November 18, 2013 at 9:10 am #

      Sorry, my fault. I ment “recent comments”. A user can see in the “recent comments” widget that comments are left in pages where the user has no group access.

  17. Mark Simpson November 13, 2013 at 7:54 pm #

    Hi,

    Sorry if you have answered this question before… I just want know how to perform a very simple task:

    I want users to be shown which pages they have access to, but in a dynamic fashion. If some user has the capability “X”, every time I publish a post (or page) with capability “X” enabled, it will be automatically shown on that user´s “My Content” page. In other words, I need to know how to list the links of all posts of a given capability.

    I could not find any shortcode or extension that do it. Could you help me?

  18. Loreen Liberty November 13, 2013 at 4:44 pm #

    Two questions:

    Am I supposed to add the groups/capabilities to the capabilities in the Group Options page? So when I look at the Group options page, all of the capabilities I created are listed in the area where it states “Include these capabilities to enforce read access on posts. The selected capabilities will be offered to restrict access to posts.”

    Is there a way to bulk edit post access restrictions? I’m adding groups to my site a few years after I’ve been posting so I’ve quite a few posts to have to manually update. Is there an add-on extension or customization purchase available for this?

    • antonio November 18, 2013 at 9:01 am #

      Hi, we will consider it for future updates, thanks for the feedback.

  19. Loreen Liberty November 11, 2013 at 8:17 pm #

    Am starting to get the hang of using this plugin… it’s working fantastically for ensuring content only gets to the subscribed users!

    Right now – I’ve got one group created: platinum. When I try to make another group, I click GROUPS, add the NEW GROUP button, fill out the new group name & description, and click ADD. When I go back to GROUPS – the new group is not in the list… just the first group platinum. Shouldn’t I be able to create more than one group?

    • antonio November 12, 2013 at 6:22 am #

      Hi,
      you can add all groups that you need. If you want, you can send us dashboard admin access to support at itthinx dot com and we’ll have a look (please indicate this comment in the email).
      cheers

  20. Akmal Izzat November 11, 2013 at 4:31 am #

    Hey there Kento, it’s been a while since I used your plugin, and because of it’s early stage of development, I have stopped using your plugin because of that.

    And lately, I noticed that there has been many changes in Groups that I like. So I ended up using your plugin again. Kudos to you!!

    I am so lucky to have bought the WooCommerce integration with Groups, everything works fine except for one thing:

    In WooCommerce, I can disable username registration and use the email as their username instead (because username sucks). But If I use email as my username, I can’t join the group that I have created in Groups if I use my email as my username.

    I thought the plugin is broken, until I switched off the use email as username setting, then everything works fine again!

    Hope you can work this out man… this thing will be the next big thing after WishList (if you work it out man..)

    Just want to tell you this, that’s all.

    • antonio November 12, 2013 at 7:58 am #

      Hi,
      this should work fine. Please send us dashsboard admin access to support at itthinx dot com and we’ll have a look.
      cheers

  21. Kev November 8, 2013 at 11:24 pm #

    Hi Kento,
    I have a WP Woocommerce online store with a product line for the general public. However, I have a particular brand that I need to market to an exclusive audience and not to the general public. In other words, there are a number of products, prices and info that I need to hide from unregistered visitors. Will the ‘Groups’ plugin enable this functionality?
    Cheers,
    Kev

    • antonio November 11, 2013 at 6:12 am #

      Hi,
      yes, you can do it with Groups. When you add/edit a product, you have a meta box to restrict it to certain groups / capabilities.
      cheers

  22. Simon November 7, 2013 at 1:38 pm #

    Hey there,
    Sorry if this is answered already, but I can’t see it.
    I am looking at finding a solution where I can restrict access to an entire site to only members. For example, there is a home page that people can view and then join (lets call this thedomain.com) and then have members.thedomain.com (setup with wp multisite) that only members can log in to. Is this possible?

    Any help would be greatly appreciated!

    Thanks.
    Simon.

  23. Thierry November 5, 2013 at 9:07 am #

    Hi,

    I’m not able to upload files on my ftp. When I change permissions of the groups-acces-files folder it always resets to 755.

    • kento November 7, 2013 at 10:15 pm #

      Hi Thierry, with that permission set, you should be uploading the files as the owner of that directory, as that is the only one who is allowed to write.

      • Robyn November 13, 2014 at 2:28 am #

        How do you designate the owner? It’s driving me crazy to not be able to upload these files. Please help!!

        • kento November 13, 2014 at 11:31 am #

          Hi Robyn,

          Within the context of the GFA plugin, it uses one folder wp-content/uploads/groups-file-access/ to which you should have write access if you uploads files via FTP and to which the web server should have access if you try to upload the files through the admin interface.

          Please post any further questions related to the GFA plugin on its Groups File Access plugin page, this page is for the Groups plugin.

          Cheers

  24. Jordan November 1, 2013 at 8:14 am #

    Hello, thanks for the great plugin!

    Quick question, I’m using Woo Sensei to sell courses and lessons.

    I would like two types of lessons ‘Free’ & ‘Paid’.

    How do I restrict access to the paid lessons but still make the post/lesson title visible to all groups?

    e.g. a non paying member can view all lessons in a course but if they click on a ‘paid’ lesson post/title then they redirected to a sign-up/register page?

    Thanks in advance,
    Jordan.

    • kento November 1, 2013 at 12:46 pm #

      Hi Jordan,

      A very simple way would be to include links to those lessons, when visitors without access try to visit those, they would be denied access (this can also be further customized using the Groups 404 Redirect plugin).

      Another way would be to dig into templates and use Groups’ API, but from what you explain, I think the above would be sufficient.

      Cheers

  25. mohamed amine October 22, 2013 at 4:33 pm #

    hi,

    it’s possible to specify a custon fields for to new register?

    and how to to register a user to specific group directly? i can’t see it in general-­>Default role of new users

    thank you

    • antonio October 22, 2013 at 8:21 pm #

      Hi,
      You can add custom fields to wordpress registration form with Profile Builder plugin.
      Automatically new users are added to “Registered” group. But if you need add their to another group, you can use Groups API, and creates your own solution. In your case:

      add_action( 'user_register', 'mygroup_user_register' );
      function mygroup_user_register( $user_id ) {
      if ( $group = Groups_Group::read_by_name( 'Premium' ) ) {
      $result = Groups_User_Group::create( array( "user_id"=>$user_id, "group_id"=>$group->group_id ) );
      }
      }

      You only need change “Premium” to your group.
      cheers

      • mohamed amine October 22, 2013 at 8:52 pm #

        thank you

        works great

        perfect

  26. Peter Eichhorst October 17, 2013 at 6:32 am #

    I know that this question has sort of been asked here, but I am going to specifically state what I am trying to achieve, and hopefully I can get some somewhat specific instructions on how to do this:

    I want to set up a multisite network using subdomains using Groups, Groups WooCommerce, and WooCommerce Subscriptions.

    What I want to do is have one Group that provides essentially only access to one page, and another group that will provide access to all the sites’ content automatically. Do I need to recreate the groups on each site? Is there any type of global groups? How would I go about doing this?

    • kento October 19, 2013 at 8:07 pm #

      I think you would be able to at least use the Registered group (to which all users belong by default) to solve part of the restriction. The only problem I can see is that you might need a group that is common to all subsites, which doesn’t yet fit into the model used by Groups for multi sites, which is independent groups on subsites.

  27. Mark October 17, 2013 at 12:08 am #

    Hello, I am using your groups plugin as part of the woocommerce groups setup and trying to figure out the best way to use it. My client offer three membership levels.

    Lets call them basic, advanced and ultimate.
    if you buy the advanced you get access to all posts in basic and advanced. If you buy ultimate you get access to all posts in all three sections.

    Easy enough. What is the best way to show a new member all of the content they subscribed for? Is there a shortcode I can use that will show all the post headings or something that the user has access to?

    Should I create a membership hierarchy off of the main navigation for each of the membership levels and all content listed under each or?

    Any suggestions would be helpful thanks.

    Mark

    • antonio October 17, 2013 at 6:41 am #

      Hi,
      if you have a category page, or a blog page, this filters out automatically the items according to the user’s level.

  28. Suwahadi October 7, 2013 at 8:31 am #

    Hi there,

    I have a problem, i want my premium content only available (read) by the premium member. But, it still a part of content visible on my frontpage (example content still saw on latest post widget, but when guest click ‘read more’ they can’t see the complete content. or just have a notice to join).

    Please help me, i think your’e have the best membership plugin ever 🙂

    • antonio October 7, 2013 at 9:38 am #

      Hi,
      Can you specify a URL to take a look?

  29. Sam October 4, 2013 at 5:10 pm #

    When this plugin is active in multisite, the capability manage_network does not seem to be respected. Even in users without this capability (verified with var_dump( get_userdata( get_current_user_id() ) )) are returning true for current_user_can( ‘manage_network’ ). When I deactivate the plugin, the capability is respected again. Any ideas?

    • Sam October 4, 2013 at 5:38 pm #

      It seems like the issue is even worse. Even a fake capability like current_user_can( ‘end_the_shutdown’ ) returns true. It seems like no matter what that capability is, the current user can do it.

    • Sam October 4, 2013 at 6:26 pm #

      It seems like the problem is with Groups_User->can(). If GROUPS_ADMINISTRATOR_ACCESS_OVERRIDE == true, then admins are given every capability. I like having the ability to have Admins override the group permissions, but not at the expense of giving all Admins, Super Admin privileges. In fact, that’s a pretty serious security risk for Multisite.

      • kento October 7, 2013 at 11:01 am #

        Yes you should have that turned off then.

        • Sam October 7, 2013 at 10:04 pm #

          I would rather have the ability to keep that turned on. Without being all that familiar, I’m not sure that that’s possible. But it seems like you could combine an array of built-in admin capabilities with custom capabilities created by groups and give admins those capabilities rather than all capabilities, no?

          • kento October 19, 2013 at 7:32 pm #

            Yes you can do that, some of the extensions to Groups use exactly that feature to provide limited access to administrative functions.

  30. Geoff October 4, 2013 at 10:11 am #

    hi,have some question about group:
    1. i want to add which group they are in creating user in admin panel.
    2. i have some sub-admin that can view user list but i want them view their own group and their own user group list

    • kento October 7, 2013 at 10:53 am #

      #1 I wanted to add that, but the only way to add that feature would have been rather ugly – unless there are appropriate actions or filters defined for the admin screen where you create a user, maybe we’ll see that in a later version of WordPress.
      #2 Enable showing groups in user profiles? Groups > Options

  31. Dave October 3, 2013 at 10:41 pm #

    Hi,

    I’m desperate to get groups and groups subscriptions for woocommerce to work on my multi-site but I’m having problems. When I activate groups, I try to delete a user and I just get a blank page.

    I’ve tried:
    1) 3 different multi-sites – 1 multi-site has no other plugins activated so it can’t be a plugin conflict.

    2) I’ve tried deleting a user in the sub site and I’ve tried deleting it in the super admin dashboard and it’s the same result = blank page (ie it won’t delete the user)

    3) I’ve tried it in a non multi-site and no problems.

    I’m desperate to get this to work. I have a demo site where this is happening if someone wants to check it out, and I’m happy to pay for it.

    thanks
    Dave

    • antonio October 4, 2013 at 8:51 am #

      Hi,
      please send us dashboard admin access to support at itthinx dot com, and we’ll have a look.
      cheers

      • Dave October 8, 2013 at 5:51 am #

        Hi Antonio

        I sent through the usernames last Friday. Any chance you guys can take a look.

        Cheers
        Dave

        • antonio October 8, 2013 at 8:27 am #

          Hi,
          please enable debugging in wp-config.php and check if there are any errors in wp-content/debug.log and try to create or edit a user with debugging enabled.
          Let us know about the results please

          • Dave October 8, 2013 at 9:17 am #

            Hi Antonio

            Success! I got this result with debug on:
            Fatal error: Call to undefined function wp_cache_reset() in /nas/wp/www/cluster-1172/charliesbucket/wp-content/plugins/groups/lib/core/class-groups-controller.php on line 42

            I turned off the WP Engine Caching and it worked!

            I think it’s all fixed.

            Just tested it on my other site and it worked!

            THANK YOU!

            • antonio October 8, 2013 at 9:39 am #

              perfect, I’m glad that works

  32. Arjen October 1, 2013 at 11:39 am #

    Hi,

    Would it be possible to restrict access tot groups by an invitation code or registration code?
    I would like to give users access to certain groups only if they have a certain code or something.

    I use for registration for the website baw-invitation codes (plugin), it would be great to have this also for groups acces. Or is there another solution to this?

    regards, Arjen

    • kento October 3, 2013 at 9:49 am #

      Hi Arjen,

      One solution that occurs to me is that you could protect a page with a password and on that page embed the [groups_join] shortcode which would then allow the user who has the password to the page to join a specific group.

      Another solution would be a shortcode that allows to show content (where that [groups_join] shortcode could again be used) after the user has input a code … but I’m not aware of a plugin that allows to do that.

      Cheers

  33. Carlos September 30, 2013 at 11:06 pm #

    sorry to bother you with this man, but I’m not that much of an expert on PHP… Is it possible to show one button for one type of group member and another button for another different group member?

    I found the api files but I’m not sure how or if I can do an if statement with the groups_member(); function.

    example:

    if groups_member(‘member-group01’) {
    Show something
    }
    else groups_member(‘member-group02’) {
    Show something else
    }

    Is this possible or am I looking at the wrong api codes?

  34. cristopher September 25, 2013 at 8:30 pm #

    hello again, I have already purchased the plugin and this excellent, but I would like some help. My case is: I will do memberships that have a specific price but I want to make a free membership, there is some capability to send the customer to the registration form? or something to help me register the client before I let you see the contents of the page? (FREE)

    thanks in advance

    • antonio September 26, 2013 at 6:33 am #

      Hi,
      when a user is registered, he is in “Registered” group. You can use group’s shortcodes, for example:

      [groups_non_member group="Registered"]
      Put here your login form.
      [/groups_non_member]
      [groups_member group="Registered"]
      Only registered members can see this.
      [/groups_member]

      Or you can create a “registered” capability, and assign this to “Registered” group, and use Groups 404 redirect to redirect to registration form page.

      • cristopher September 26, 2013 at 2:27 pm #

        you would be so kind as to give me an email where I could send my access to that could help me with this? is a bit confusing to me?

        thank you very much in advance antonio

        • antonio September 27, 2013 at 7:43 am #

          Hi,
          you can send us access data to support at itthinx dot com.

        • kento September 28, 2013 at 3:05 pm #

          Hi,

          This is much easier than how you had it set up. Any user is a member of the Registered group, assigning the groups_read_post capability to that group and restricting the ‘free’ post to that capability will only show that post to registered users.

          And don’t assign capabilities like create_users to groups like FREE, you’re creating yourself a security nightmare doing that!

          Cheers

          • cristopher October 8, 2013 at 6:01 pm #

            hello yeah sure I already did so but I need to redirect every membership registration form, but send me to page 404 and the problem is that the tab appears on the backend to change the product which I have not redirect that would be to the WooCommerce registration form which does not meet either

            please i need help with this we start our own business and we can not because we do not acomofar the memberships as it should

            • antonio October 17, 2013 at 7:15 am #

              Sorry,
              I do not know what you mean by “the problem is that the tab appears on the backend to change the product which I have not redirect that would be to the WooCommerce registration form which does not meet either”.
              If you need redirect the free user to a registration form (or to another product), instead of page 404, you need Groups 404 Redirect plugin.

  35. cristopher September 24, 2013 at 9:00 pm #

    good morning, I’m installing several plugins as shown in the video but can not find the “Groups WooCommerce” and so do not I get the tab “groups” in WooCommerce products, could if you please tell me where I can get the plugin “Groups WooCommerce ”

    thank you very much

    • antonio September 25, 2013 at 6:41 am #

      Hi,
      you can get Groups Woocommerce Integration here.

      • cristopher September 25, 2013 at 2:45 pm #

        Perfect, I thought there was to buy it because in the video says that it is free

        • kento September 25, 2013 at 4:43 pm #

          Groups is free, Groups WooCommerce is a premium extension.

  36. Jeff September 24, 2013 at 7:32 pm #

    Hi Kento,
    Thanks for making this and replying to people’s queries. I’ve read the suggestions and questions about limiting access by Categories instead of only by single posts. Here’s my reason for wanting it:
    A wholesale WooCommerce site in which only people from a specific member group can see products and add them to their cart.

    Group A can only see Group A products. Group B can only see Group B products… etc.

    I’ve done this with restricting posts, but it would be nice to be able to do it on a higher level. Also, it would be nice to let them know something like “sorry, you do not have access to view this” so it doesn’t just look blank to them.

    Thanks,
    Jeff

    • antonio September 25, 2013 at 6:43 am #

      Hi,
      Thanks for the advice. We are working on it.

  37. Christian September 24, 2013 at 1:08 pm #

    Hi

    Is there a way to hide whole branches from navigation based on groups and only show the top level page of those branches for visitors not subscribed to those branches?

    Thanks

    • antonio September 26, 2013 at 6:48 am #

      Hi,
      right now not. You can hide post/page/custom post types, but not categories. But we will consider it, it sounds good.
      cheers

  38. Richard September 18, 2013 at 10:02 am #

    Hi are there plans to expose the groups on the network admin screen, so you can easily sort through users?

    • kento September 18, 2013 at 12:22 pm #

      The groups on each site in the network are independent so I’m not sure to which extent that would actually be helpful. Do you have any particular use case for that in mind? Suggestions on that are certainly welcome.

      • Richard September 19, 2013 at 8:16 am #

        Hi,

        It was just so that I can quickly look through the users of each group and be a little more organised.

        The users I have on one site are organised in the same way on every site on the network (in that they are grouped by client).

        It would be good to be able to slect an option to almost sync these groups across sites, or select individual groups to be synced.

        Thanks

        • kento September 19, 2013 at 7:58 pm #

          Hi Richard,

          Thanks I think I can see what you mean now. It would be good to have the option of site-wide groups. For example, if you have a sub-site for support and another sub-site with a shop, where users who have purchased a product should be able to access content or interact on the support sub-site depending on products purchased, then site-wide groups would be the solution. Actually I think there was a similar request and either we had worked on a solution already or were considering to do something in that direction. Either way, I’m taking note of this right now to see if such an option would be good to be added to the core Groups plugin or provided as an extension for those who could really make use of it.

          Cheers

  39. Pal September 11, 2013 at 7:14 pm #

    Hello there,

    Apologies if it has been answered already (I have tried reading back).

    Is there a quick way of seeing who is a member of a particular group.

    For example if I have a group called ‘Cadets’ can I just click somewhere to see who is a member of the group?

    Thank you so much in advance.

    Pal

    • antonio September 12, 2013 at 5:16 am #

      Hi,
      @casey has created a custom solution that can help you. You can have a look here.
      cheers

      • Pal September 18, 2013 at 1:13 pm #

        Apologies, I got no email alert to this and hence did not see teh reply. Thank you so much.

  40. jch September 10, 2013 at 4:32 pm #

    Sorry for the double post, my code got filtered:

    I’m setting up a function that I want to apply only to users in Group 5. Is there a function like this:

    if(user_is_in_group_5)

    or

    if(user_group = 5)

    I can’t use the shortcodes for this, because it’s not about displaying data.

    • antonio September 11, 2013 at 4:53 am #

      Hi,
      this conversation can help you (it isn’t the same case, but you can use as reference)
      More info in Groups API.
      cheers

  41. jch September 10, 2013 at 4:28 pm #

    I’m setting up a function that I want to apply only to users in Group 5. Is there a function like this:

    or

    I can’t use the shortcodes for this, because it’s not about displaying data.

  42. James September 9, 2013 at 10:10 am #

    WPMUDEV Premium Membership plugin provides allow/restrict based on a URL, so for example you could select everything which branches from a specific root URL. That might be a way to do this?

    I am not in any way promoting WPMUDEV products. Their price is way too high for what you get, their support is slow and very patchy, they make countless promises on future development but deliver almost nothing even after years of promising ~ like a decent manual, for example!

    I have to say that Groups looks very promising and I am getting some good vibes about this product and the way it is developing.

    Keep up the good work and many thanks for what you have delivered so far. Its way ahead of anything else I have seen, and I include in that S2Member, which we also bought, unfortunately.

    James.

    • antonio September 12, 2013 at 7:27 am #

      Hi,
      you can restrict access to posts, but not to categories.
      cheers

  43. Sven den Otter August 30, 2013 at 7:57 am #

    Hi,

    Is there a way to use the groups plugin to allow/disallow editing specific pages, but everyone can see the pages?

    • kento September 2, 2013 at 9:14 pm #

      You could restrict it based on post type, would that be sufficient?

  44. Brian August 23, 2013 at 3:03 am #

    I want to add a dropdown list of groups on the registration page. How do I add the selected group to the new user?

    Thanks.

    • antonio August 26, 2013 at 3:06 pm #

      Hi,
      you can use Groups API to implement it.
      cheers

  45. Matt C August 22, 2013 at 8:50 pm #

    I’m selling memberships via the s2member plugin. I’d like customers who purchase their membership through s2member to automatically be added to a Group I’ve created. Is that possible?

    • antonio August 26, 2013 at 10:35 am #

      Hi,
      Groups can be used as an alternative to s2member. You can sell memberships via Groups Woocommerce/Jigoshop.
      But if you need both, you can use Groups API to create a function to add an user to a group.
      cheers

  46. Stephane August 21, 2013 at 12:01 pm #

    My user see in their dashboard the menu group, is it a way to remove this access

    Thanks

    • antonio August 21, 2013 at 2:21 pm #

      Hi,
      you can setup this in Groups->Options->Permissions.
      cheers

  47. Amber August 19, 2013 at 6:19 am #

    Is it possible at this time to print a simple list of all users registered to a group?

    • antonio August 19, 2013 at 9:07 am #

      Hi,
      you can use this code as reference:

      add_shortcode('groups_users_list_group', 'groups_users_list_group');
      function groups_users_list_group( $atts, $content = null ) {
      $output = "";
      $options = shortcode_atts(
      array(
      'group_id' => null
      ),
      $atts
      );
      if ($options['group_id']) {
      $group = new Groups_Group($options['group_id']);
      if ($group) {
      $users = $group->__get("users");
      if (count($users)>0) {
      foreach ($users as $group_user) {
      $user = $group_user->user;
      $user_info = get_userdata($user->ID);
      $output .= $user_info->ID . "-" . $user_info-> user_lastname . ", " . $user_info-> user_firstname . "";
      }
      }
      }
      }
      echo $output;
      }

      This create the “groups_users_list_group” shortcode. Example of use: [groups_users_list_group group_id=”1″]

      • Amber August 19, 2013 at 9:58 am #

        I actually meant print out a list with via a printer; as in “export to csv” or “print users” from a dropdown in the users section of the dashboard.

        • antonio August 19, 2013 at 10:03 am #

          You can use this code as reference and the Groups API to create your own Export-CVS plugin.
          cheers

  48. yursil August 18, 2013 at 3:12 pm #

    Figured out auto enrolling into a group for gravity forms and for regular registrations, some code that might help others:

    https://gist.github.com/yursil/6262120

    • kento August 19, 2013 at 12:18 pm #

      Cool, many thanks for sharing that 🙂

  49. yursil August 18, 2013 at 12:32 pm #

    Awesome plugin thank you for working on it!

    One question:

    I have some plugins which work well with roles, for example the popular gravity forms… their user registration plugin gives me a workflow in which I can say, a user fills out registration, and gets assigned to a particular role upon admin approval.

    I would like to keep my groups and roles in sync for this install, is there some snippet of code or something to allow me to say “When user X is created in role Y add to group Z” ?

  50. Joey August 16, 2013 at 5:40 pm #

    Hey guys,

    I’m sure you’ve already answered this question, but I couldn’t find it after a quick scroll:

    I want to restrict posts to individual users, not a group of users. e.g. I want to sell access to individual posts. Can you point me to a good solution? Or is the solution simply “dynamically create a group for each user and dynamically assign that group to a post”?

    Thanks.

    • kento August 19, 2013 at 8:56 pm #

      Hi Joey,

      Is it a real 1-to-1 mapping or would it be sets of users who can access those posts? I think what you say is a many-to-1 mapping, i.e. several users who can access a post. In that case, you could create one capability and corresponding group for each post, and then sell group membership.

      Example:

      Post X : capability a, group A
      Post Y : capability b, group B

      Assign a as restriction to X, b for Y. Group A can a, B can b. Create a product selling access to X with group A assigned.

      Makes sense for what you have in mind?

      • Joey August 20, 2013 at 4:15 pm #

        @kento,

        Of course! I’m almost embarrassed I didn’t see this clearly. Thanks kento.

        • kento August 22, 2013 at 8:41 am #

          No problem, I’m glad I could help clarify 🙂

Leave a Reply

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

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

Share