Groups WooCommerce

Groups WooCommerce is a WordPress plugin that allows to sell memberships with Groups and WooCommerce.

Selling 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. Memberships can be sold through normal products where membership is granted for an unlimited time through one-time payments, or through subscriptions where the memberships lasts as long as the subscription is active, based on recurring payments and an optional setup fee. If you want to charge a monthly subscription fee, the WooCommerce Subscriptions plugin is required, which adds a new subscription product type. Groups WooCommerce controls the memberships for the duration of the subscriptions.

WordPress and Plugin Requirements

To sell memberships with Groups and WooCommerce you need at least WordPress 4.6 and these plugins:

654 Responses to Groups WooCommerce

One more quick question. I am using one of my Woocommerce subscription products to function as a payment plan. I would like the customer to have unlimited access to the content rather than expire after the subscription expires. Is there a function I can add to disable this expiration action for this specific product?

Thanks again! It looks like this plugin is going to work exactly as I need it!

1. Customer pays for product.
2. Is added to group for that product
3. Is asked to create a username and password to access the virtual product page (does this happen on the Woocommerce checkout page?)
4. Once that is created, customer is redirected to product page to either login or access content.

The way this works with WooCommerce is almost as you describe, simply the order is different: 3, 1, 2

So the cusomer would add the product that grants access to a group to the cart, go to checkout where the customer creates the user account and then proceeds to make the payment. When the payment is confirmed, the user is added to the group(s).

For #4 the process is a bit different as there won’t be an immediate redirect to the protected content.

I’m wondering if there’s a way I can add a customer to 2 different groups upon purchase—each with their own duration. I know I can add the customer to 2 different groups, but the only option is to have the same duration. Is there a special function I can add that will achieve this?

I have groups, groups404, and groups woocomerce one of my members recently got this: below, I was able to duplicate the below error but I have no idea if this is a theme update issue or a plugin problem any ideas

Hi Gianmaria,
Maybe there is a problem with the file to import. If you want, you can send me the file to antonio[at]itthinx[dot]com indicating this conversation, and I’ll have a look at this.
For support questions, please open a topic on the forums.
Kind Regards,
Antonio B.

The problem it is because it generates fields for every user and I have thousands of users.
Then when I open ” groups export ” and when I click “export” there is nothing, the page reloads but I can download nothing.
On the other hand, if I delete approximately half of the fields ” wpautbox ” which you can see on my screenshot then I can again download the export.

Then I tried to make “CRTL+A” for all them select and them delete but it creates an error of Javascript script.
Impossible thus!

I have to delete them one by one and to delete half I need more than one hour.
Would you have a solution to remove these fields quickly? And so be able to use your plugin?

Hello! I have used your plugin successfully for a while, then it stopped adding people to the appropriate group and I cannot figure out why. I am using a Simple Product (virtual). I’ve spent hours trying to find any reason for it to stop working and cannot.

Would it be possible for you to look at the backend of my site and tell me if there is something I am doing wrong?

on our site there are some restricted areas, accessible only by activation. These areas have been created with the plugin https://wordpress.org/plugins/groups/http://www.itthinx.com/plugins/groups-woocommerce/ and therefore currently if a customer buys a product on my site, is automatically recognized also for access to protected content. But if the customer buys the same product in the library, it is I who have to turn to manual mode. there is a way to load the activation password for protected areas?
In this way I could enter the password in the product, and the customer enters the password and enables access to the private area. is there any way?

Hi Gianmaria,
there isn’t easy solution for that. As alternative you could create a page with the [groups_join] shortcode as content, and limit the access to this page using the WordPress password protect system. So if I have the password, I can access to this page, and see the join form to join to the group that has access to the product.

on our site there are some restricted areas, accessible only by activation. These areas have been created with the plugin https://wordpress.org/plugins/groups/http://www.itthinx.com/plugins/groups-woocommerce/ and therefore currently if a customer buys a product on my site, is automatically recognized also for access to protected content. But if the customer buys the same product in the library, it is I who have to turn to manual mode. there is a way to load the activation password for protected areas?
In this way I could enter the password in the product, and the customer enters the password and enables access to the private area. is there any way?

Just a gentle reminder that all WordPress headings in admin screens have changed from H2 to H1, H3 to H2, etc in version 4.3, back in July 2015. Please consider changing your heading structure so it’s semantically correct.

For instance, in `lib/admin/class-groups-ws-user.php`, “Group Memberships” & “Groups” should be level H2 headings, not H3. “Edit Memberships” should be level H3 heqding, not H4. There may be other inconsistencies in that file and elsewhere, since I haven’t checked every single file.

I have a problem with the translation of the duration. My product is defined in french and translated in english. When I change the duration of the subscription the value is not updated in english ?? And the english translation is still in french ?

Hi David,
This translation is not relating with Groups plugin. It’s a Woocommerce translation or Woocommerce Susbcription if you are using it.
Maybe this string is not translated to english, so the system is using the french default system language. You should review the Woocommerce translations.
Kind Regards,
Antonio B.

Hi, I set up a product and when the user purchases it, they get added to a group for one month. It is not removing the user from the group when it expires as it should. I’m looking at the date and times and reading the on screen guidance in the users, but it’s clearly past the time that is populated and the member is still in the group. Any suggestions?

We’re experiencing major issues with Groups Woocommerce and Subscriptions version 2.0. Every time we try to manually activate a subscription we’re seeing:

Notice: Trying to get property of non-object in /home/bionictu/public_html/wp-content/plugins/groups-woocommerce/lib/core/class-groups-ws-handler.php on line 389

Warning: Cannot modify header information – headers already sent by (output started at /home/bionictu/public_html/wp-content/plugins/groups-woocommerce/lib/core/class-groups-ws-handler.php:389) in /home/bionictu/public_html/wp-includes/pluggable.php on line 1207

I also get this issue when I try to suspend a subscription:

Notice: Trying to get property of non-object in /home/bionictu/public_html/wp-content/plugins/groups-woocommerce/lib/core/class-groups-ws-handler.php on line 585

Warning: Cannot modify header information – headers already sent by (output started at /home/bionictu/public_html/wp-content/plugins/groups-woocommerce/lib/core/class-groups-ws-handler.php:585) in /home/bionictu/public_html/wp-includes/pluggable.php on line 1207

All debugging has been turned off on our server, so I don’t know why these notices are appearing and breaking our workflow.

Hello, I seem to be having issues where using woocommerce subscriptions and woocommerce groups doesn’t appear to work properly.

I have groups setup properly with capabilities and whatnot, and I have a subscription product setup (virtual + downloadable so that orders complete immediately after payment)… however, the subscriber is never added to the configured group… They are also not added when an admin manually confirms their order.

I submitted a ticket on woothemes a few days ago and haven’t heard anything. I really need help and I don’t know who else to contact.

Hi Rob,
if you set ‘Processing’ in Woocommerce->Groups, then user are added correctly?
If you can, please enable wordpress debug and make a subscription purchase.
To enable debugging, edit your wp-config.php file and replace the following linedefine('WP_DEBUG', false);
with these linesdefine('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Also, create a file named debug.log under wp-content folder.
Kind Regards,
Antonio B.

If they can order it then you you either have a conflict with another plugin or the access restrictions are not set up properly. Set the access restrictions on the product: try setting e.g. Distributor in the quick-create box under the Access Restrictions box and then update your product – try with another browser and make sure you’re logged out, you won’t be able to see the product if you don’t belong to the group and you also won’t be able to add it to the cart even though you know the URL used to add it to the cart.

I see what the culprit is.
I have added this code to functions.php, on a previous recommendation from your team.https://github.com/itthinx/groups-excerpts/blob/master/functions.php
This code shows the visitors my site the title of all the posts in a “recent posts” widget, but when they click on it, they will get a message that they have to become a member.
However with this code applied, a visitor can order an item that has been restricted access to group “members”. they won’t see the description of the products, but they are able to order the product.
How can I adjust the code that it will restrict ordering products that are assigned restricted access to group “members” to members only?
Thank you.
Peter

Thanks for the reply, but the “Woocommerce role purchasable” won’t work for me, since you can not assign “roles” on a product by product bases.
this is how I want it to work:
A guest first purchases a “membership”, then they get placed in the “members” group. As part of the members group they now should have access to products with access restrictions set to members.
It works fine without the “excerpts” code. But with the excerpts code applied, guests can purchase products with access restrictions set to members, without being part of the members group.

If I remove the excerpts code, it works fine, but then I have the issue with my “recent posts” widget. so I’m stuck.

See my related comment here please. As I’ve explained there, the “groups-excerpts” thing is not a correct solution as it effectively removes protection from posts. It should either be corrected, or the simpler solution is what I’ve indicated in the comment.

If I use ” groups for woocommerce ” and ” subscriptions for woocommerce” and I create a product in woocommerce such as:
– Purchase premium membership for 1 year = addition of the customer to the “premium group”
– On 1 year later, the customer is removed by the “premium group”

That all right it is easy.

But now, let us imagine I create a special product for the faithful members in woocommerce such as:
– Purchase of a membership in renewal = addition of the customer to the “premium group loyalty” + “premium group”
– On 1 year later, the customer is removed by the “premium group” and by the “premium group loyalty”

But I have one day a renewal customer who registers again with another email and who tells me: ” thin I had seen the premium offer loyalty you can add to me to this group, please ?”

Then how be going to make ” groups for woocommerce ” if I add manually this customer to the group ” premium loyalty ” ?
At the end of the year when its subscription will be ended, “groups for woocommerce ” goes only removed the member of the group connected to its purchase? Thus he is not going to remove him from the group ” premium loyalty ” in this case ?

Yes ? I’ve understand ?

If yes, then how can it be done to add a customer in a group manually but what it is removed from this group at the end of its subscription ?

Thank you for your information and saddened if I am not clear my English is bad….

Thanks for asking, it’s a valid question and there’s an answer and documentation to it. Please refer to this documentation page under the heading “Manual Assignments” you will see how a limited membership can be added manually.

I’ve been using Groups WooCommerce for a while now – wonderful product! I was wondering if there was any way to export member information on any users who membership is about to expire (a query I can run that would compare their expiration date to an arbitrary datetime value)? I was mucking around in the DB, but couldn’t seem to find any date/datetime values or an “expiration” (or something equivalent) column. Could you please contact me with some insight into this?

Thanks for the quick reply! Unfortunately, we are not using the subscription plugin. Is there any other way I can get the expiration date on a user’s membership to a group, or would I have to do this based on their order date (which would take this out of the realm of Groups and into WooCommerce)?

Hi Ducan,
then the data is stored in the database as ‘_groups_product_groups’ in the wp_usermeta table.
In groups-woocommerce/lib/core/class-groups-ws-handler.php around line 139 you have an example how to use this usermeta.
Kind Regards,
Antonio B.

As you can see, instead of the groups assignments for products purchased being organized clearly and in such as way where you begin typing the group names into the fields and then it prepopulates with the groups, each field (to add to groups and remove from groups upon purchase) are being listed in drop down fields.

So something is wrong with the normal formatting of the Groups For WooCommerce configurations format.

My guess is that Groups 404 and Groups when both upgraded to latest version … Don’t communicate!?

I am just happy it works for me again… 3 days in PAIN!! is over
(Reinstall – deleting, activating, deactivating and all combos of what ever I could imagine to do… Change theme, deleting plugins…)
Old version saved me!!!

What do you mean… Groups 404 is enabled and I tried login page or a page ID – and both. Is there any special settings?
I tried to save the perma…

No diff…
I still get the normal page not found (404) and not the settings I did in Groups 404??
I test with a browser (Chrome) where I am NOT logged in.
The entire purpose is to redirect non-login users to create a login/profile
and my plan is to give them an reason they can’t refuse on the login/create page??
But how do I get them there?

Hi Peter,
it should work fine. Please send us dashbaord admin access to support at itthinx dot com and we’ll have a look at your settings (please indicate this conversation in the email).
Kind Regards,
Antonio B.

Do you have a plugin that creates dynamic pricing for woocommerce products based on group membership, that also shows the adjusted prices on the shop page and single product pages (instead of only in the cart)?

Hey thanks so much for referring me to WooCommerce Group Pricing plugin! It is exactly what I needed, and the only plugin I’ve seen so far that does pre-cart dynamic pricing based on group membership. I wonder if it will work in conjunction with the other Dynamic Pricing plugins that adjust pricing in the cart based on custom rules. I’m wondering if WooCommerce Group Pricing will set the new base price for the product per group, and then the Dynamic Pricing plugin will calculate further discounts in the cart based on custom rules.

Can we apply groups restriction to media files? I know we can restrict a page the media plays on, but can we restrict the actual media file’s url itself, so that just in case a file’s url (audio or pdf file) gets emailed from a member to a non member, the non member still cannot access it unless the member gives them their login info?

We’re using Groups File Access for these cases. Have a look at that one please, it’s a bit different than using the media section but is proving to be very useful in lots of deployments where you need to protect certain files.

Groups File Access looks nice, but I’m not sure if that will do what I need. Can you please clarify. Here is what I am building:

It is a a membership site using Groups for WC and WC Subscriptions. So files are only accessible through the to customers / group members. However, I’m wondering what happens if someone gets the direct link to an audio file without purchasing it. Will this plugin keep non-members from downloading a file even if they get the actual url of the file?

They won’t be able to access the file even if they know the URL. GFA protects access to the files themselves – I’d recommend to have a look at the Documentation so you get a clearer idea of how it works.

It appears my reply to your last reply is not longer here. I was asking if the Groups File Access plugin can be used lock the actual file url. In other words, if someone gets the actual file’s link, will the Groups File Access plugin block the person from viewing or downloading the file do not have access through Groups?

Last year when I was migrating my content to Woo Sensei, as the administrator I had access to all of the courses. For the past few months (I’m going to guess 6 months), as administrator I do not have access to my own Woo Sensei courses unless I manually generate a purchase from the WooCommerce back-end system.

Given my previous comment (added just a few minutes ago) and the behavior described here, I believe there is a fundamental issue with Sensei content and Groups.

Have you assigned your user account to the groups that are required to access the protected content? From what you describe, and taking into account that with the admin override in place you had, it seems that you don’t. You can simply use the main user management section and add yourself to the required groups (those that have the capabilities required to access the protected content).

Could you provide admin access to have a look please? Staging site instead of production would be preferred if possible. Please forward credentials to support at itthinx dot com with a link to this conversation.

– When I perform a standard purchase – or generate a purchase manually on the back-end – everything works as expected.

What doesn’t work:

– When I manually add an existing user to a group, the user does not actually get access to the content.
— The course is not listed in their list of available Sensei courses.
— If I try to bypass Sensei and go directly to the slug, I see the Sensei page, but it tells me I have to purchase it.
— Bottom line, I can’t grant access to course content by adding a Group permission to a user.

Why this matters to me:
– I have a relationship with a company whereby their members can gain access to one of my courses for free by filling out a form to verify their member status with the company.
– I would like the submission of the form (using Gravity Forms) to grant access to the course straight away. While the Groups – Gravity Forms plugin allows me to add user to groups, it has no real affect in granting access to protected content in Sensei.

I don’t know if the issue is on your side or on WooThemes’ side, but you have always been really responsive and probably have more to gain by making this work than does WooThemes.

Also, can you tell me if there is a callback function for when a user is about to be removed from a group after the set time limit? I basically want to notify the user, so they can purchase another yearly plan.

It doesn’t matter where it works as long as you can control how the server behaves. If you don’t see memberships expired, you most probably have an issue with cron not working on your site. Use WP Crontrol to check if it is working, and if it isn’t, you must undertake the necessary steps to make cron work on your site so the system can remove expired memberships when they are due.

I am interested in the groups. If groups is set to default users to the “registered” group, but we sell a membership to a “Premiere” group, and when someone buys the “premiere” membership, we set the subscription to remove the user from “registered”, will, at the end of the subscription period, the customer be returned to the “registered” group and be removed from the “premiere” group.

You would not want to remove anyone from the “Registered” group. You would base your access restrictions on the “Premium” group only and when the subscription ends, the membership with the “Premium” group would be revoked and thus access to protected content based on the “Premium” group would be denied.

Is it possible to move a user from one group to another when the user buys something (complete an payment)
I don’t sell memberships but just want to move a “Registered” to “Customer” so I can send a notification 🙂