Discussion on WooCommerce Role-O-Matic

Discussion on WooCommerce Role-O-Matic

Cart 489 sales

vanquish supports this item


198 comments found.


oosin Purchased

Rule 1: To reach the VIP membership level, the accumulated spending amount must reach 7,000 USD. and have 365days time Rule 2: To reach the VVIP membership level, the accumulated spending amount must reach 17,000 USD (including VIP accumulated spending). and have 365days time

how can it setting rule


oosin Purchased

thanks how about the vip to vvip setting thanks


oosin Purchased

pls help me check

You find both configuration on this screeshot: ttps://

Will this still work considering it hasn’t been updated in a year?

yes, you can test it on the demo site that runs the latest version of both WooCommerce and WordPress.

On the sales page you mentioned that, “This tool can be very useful because can be used together with the WooCommerce Pricing!” by this, Woocommerce Pricing plugin, which pricing plugin has you mentioned? I would love to try it with the “WooCommerce Role-O-Matic” plugin.

the pricing plugin is this: WooCommerce Pricing!

Hi, I have set the rules from product configurator, anyone who purchase a certain product will be assign to certain role, then I tried to run re-calculator, and the screen stucked like this, the progress bar is not running and not applying to previous customers

How to fix this issue?

please try giving a look to the browser error console to see if any further clue is reported. Try also disabling the other 3rd party plugins, one of them might be interfering.

Order status to exclude * Select which statuses exclude from computation

how can it read my custom status

because my custom status make it slowly can not exclude computation

Without any further clue, it is quite hard to determine the cause. In order to understand if the issue is caused by the plugin, please use the following clean installation: (user: demo, pass: demo) to recreate your scenario. If you are experiencing the issue, please report me a step-by-step guide on how to experience it. As you can see from the badge on the support area, I’m away on vacation. Once returned, I’ll perform some further analysis.

If you are not experiencing the issue, it means that something in your installation is interfering. To identify the cause, try disabling all the plugin and eventually switching theme.

i can not install any plugin this right?

no, you cannot.


I just want to assure that a specific feature is included:

Assume I apply a rule which sets the role “12-months-membership” when purchasing the product “12-months-membership” by removing the customer role for 12 months and applying it again after 12 months. I know that is a standard feature.

If I now need to prolong / change the date the memebership ends by hand (no further purchase / action from the customer’s side), can I do so?

Thank you for your help :)

I’m sorry, the plugin doesn’t allow you to do that manually. You can however just edit the order, change its date and just save. The plugin will recompute the role according to the new data.

Please, before any purchase, use the demo site to recreate your scenario and perform all the tests you need in order to be sure it actually fits your needs and expectations.

Thanks, Vanquish. I already played around with the demo but could not see the “end date” anywhere, could not access the users and the orders etc. because of the restricted rights of my user role. I think I will be happy with your plugin and am going to buy it. :)

Hi i have a problem when i buy something the plugin doesn’t auto re-calculate i have to do it manually, on the options i have configurated that when someone buys something it auto re-caculates but this doesn’t work.

if you refer to the Automatic role recomputation, you need to set it as no. Otherwise, roles will be recomputed only after the specified time interval.

I need recalculated for example inmediatly, it´s possible?

The roles will be recomputed only fo the use that placed the order, when the orde is placed or modified.

Hi, is there a limit on the conditionals on the section “Amounts Configurator” because when i arrive at 33-36 if i add any more conditionals the last ones are deleted automatically i don’t know if there is a way to increase number because i want to make 80.

no there is no limit. It seems you server, however, has on a too low value of the PHP php max input vars var. Check the WooCommerce -> Status -> PHP Max Input Vars. It should be above 12000, if not please your PHP.ini file and set the max_input_vars variable to a value greater than 12000. Once done, restart your server and go to the Status menu and make sure that the change took effect

If that value is too low according to your needs, the post data exceeding that value will be ignored by the server. In this case, for example, you won’t be able to properly save the rules beyond the 36th

No problem! :)

At last but not least, I would ask you to help me: If you enjoyed my efforts to assist you and/or my plugin please consider leaving the 5 stars…It would help me with sales, I would really appreciate it! :)
(to leave a rating: go to your profile page, click on “Downloads” and from there you can rate your purchases. You can also leave the rating through the plugin description page: )

Have a great day! :)

Hello, I can only do 34 roles, I need to create 100 more o less, is it possible?

very thanks!!

to ask for support you need to have a valid support and puchase licenses associated with your account.

Hi, does the roles apply also for not registered users? Is there a way to set it up as A ) Apply roles to not registered users B ) Apply only to registered users

Hi, not it doesn’t. Roles are associated by WordPress with the user profile. Guest users have any profile, so no role can be assigned.

Pre-purchase question : I need a specific role to be added for 2 products (each one a different role) for 1 custom order status. From what I understand if I just check the status in general settings.. but in your demo I don’t see the role added for the user tested…

I’m sorry, there is no plan for such a feature for now. Thank you however for your suggestion, I’ll try to do my best for a future release!

Nice! it would be awesome to be able to make rules per specific status. I’m buying your plugin as for now it will do the trick. For now I just need to add a role for specific products and 1 status but I really would like to make a rule that define if customer bought 1 product he has this role starting custom status A (my usage is for esignature contract to show in my account, I need a role for that) but my customer preorder the product so once he really pay the product at the end, on completed status, I’d like to change again the role so he will have a discount on that role for 1 year if he purchase other products in the shop. So for the same product I need to setup 2 roles depending on 2 different status. Now you can see better the usage expected.

Also it would be great to be able to remove the role on order Cancel

Hello, this is me from above through the account that made the purchase.

So, again, “I just need to find where the actual writing of the new roles to the capabilities user meta happens so I can replicate it to the other sites’ capabilities either by hook or hack. I guess that it’s at the update_user_role_by_product_role_rule function at WCRA_Customer.php – can support confirm or deny that?”


Thank you for using the proper account and supporting my work thought the purchase.

Yes, you’re right. The user roles are added through the update_user_role_by_product_role_rule () method defined in the classes\com\WCRA_Customer.php file.

Roles are instead removed by invoking the remove_user_roles() and remove_all_roles() methods.

at last, the default role is eventually restored through the set_default_role_if_necessary() mehotd.

Hello, I just purchased WC Role-O-Matic for a customer using their account. It works perfect out of the box but they have a special requirement.

They have a multisite set up with a shop in the main site and a private area in the subsite. A purchase changes the user role correctly at the main site, but they also need it changed at their subsite.

I can sync roles via another plugin, but their site is cluttered already and I would prefer to modify Role-O-Matic if possible. Any advice on where I should start? BTW thanks for your extensively annotated code, a real pleasure to read.

I’m really sorry, but the support service doesn’t include any customization service. Furthermore what you ask cannot be eventually suggested using just few lines here in the comment system.

Yeah I KNOW what support includes, I was not asking you to do my job, just for some guidance so I don’t need to go through every single file included.

I just need to find where the actual writing of the new roles to the capabilities user meta happens so I can replicate it to the other sites’ capabilities either by hook or hack. I guess that it’s at the update_user_role_by_product_role_rule function at WCRA_Customer.php – can support confirm or deny that?

I’m sorry, for that kind of information, you need posting the question using an account with a valid purchase and support licenses associated with it.

Hi, I bought the plugin as I have Agents that I need to move from one to level to the next depending on their total purchases.

I want the plugin to calculate for the entire month what the role spent and then move them to a different role only (not after every order).

Also the plugin has a minimum spent and if they spend more than that then it moves up – what if they spend less than that amount ? I need to set it for if they do not spend a certain amount then it moves them.

I want all my rules set up before hand to calculate orders for a month and then move the different roles to other roles accordingly. Can this be done ?

The plugin has a detailed description page where its features are reported. It also has a demo site where its features can be fully tested before purchasing in order to be sure it actually needs as the user needs and expects.

Once purchased, the Envato refund policy won’t grant a refund because the software is not working as it never claimed to or because the user had in mind something different from what was advertised. Otherwise, any user could use such argumentation, get the money back and continue using the software for free.

I understand and did check all of that, bit misleading though as your plugin states amounts calculator (which is what I need), but it does not work the way I thought. It is not however Envato that states the refund policy it is you yourself as I know for a fact that a refund may be granted from the Author.

Please change the way the plugin is presented showing the amounts calculations as that makes it become a bit misleading.

I think in future for anyone using a plugin from they should only look at those who state that they are prepared to give refunds if not happy.

We as normal users do not write these plugins and therefore cannot possibly know the nitty gritty behind them and therefore go on what we think is correct based on your images etc. I did look at the demo, but as I did not have my full month’s sales etc on there it was almost impossible to know that it would not work.

I will give a review shortly – thank you

The plugin works as advertised. Regarding the amount calculator: It assigns one or more roles according to the amount spent, amounts spent that can fall in a selected time period that can be easily configurable via the amounts configurator menu: The recomputation of the roles according to the existing pricing rules places every time the user places an order, when an order is modified via the admin area or when the admin performs a manual role recomputation via the special menu.

The product description page must be carefully read before any purchase. The plugin demo site has been setup precisely to avoid this kind of scenario.
The user, before any purchase, should be using it to create its scenarios and be sure the software actually fits his needs and expectations. The user, eventually, in case of further doubts, can ask presale questions.

Software is not like physical products. Once purchased, they cannot be returned. This is why the user is provided before any purchase, all the info, and tools in order to be sure of what he is purchasing.

That’s it, if the user bought without even caring to read the description or performing any test, the author or Envato cannot be blamed. You must take responsibility.

For authors and Envato, once the software is purchased, it is not possible to determine if the user is stating is true and cannot prevent continuing to use the software in any way. This is why the policy won’t grant this kind of scenario.

Hi First of all thank you for your work, your plugin is exactly what I was looking for, however I encounter some problems. I’m looking to offer memberships to my visitors, so I created three sheets produced in Woocommerce that correspond to different membership plans, each of them corresponds to a different role, so I configured three rules in the plugin in the product configurator. -The first deletes the current role and assigns the “adhérent” role for 12 months when a user purchases the “adhérent” product, and at the end of these 12 months the “adhérent” role is deleted and replaced by the “customer” role . -The second deletes the current role and assigns the “contributeur” role for 12 months when a user purchases the “contributeur” product, and after these 12 months the “contributeur” role is deleted and replaced by the “customer” role . -The third deletes the current role and assigns the “bienfaiteur” role for 12 months when a user purchases the “bienfaiteur” product, and at the end of these 12 months the “bienfaiteur” role is deleted and replaced by the “customer” role . The problem is that only the first rule works, the other two rules are ignored even if I temporarily disable the first and the last, the second does not work and the same for the third, only the first works while the settings are the same! ?

Have you ever been told this kind of problem, can you help me? If needed I can provide you with access to the backend to see for yourself. Here is a video to illustrate my problem (I just changed the period from 12 months to 5 minutes for testing):

Thanks in advance

Great! this fixed the problem! Thank you for the speed and efficiency of your help.

yes! very glad to hear that! :)

At last but not least, I would ask you to help me: If you enjoyed my efforts to assist you and/or my plugin please consider leaving the 5 stars…It would help me with sales, I would reeeeeally appreciate it! :)
(to leave a rating: go to your profile page, click on “Downloads” and from there you can rate your purchases. You can also leave the rating through the plugin description page: )


Please remember the rating, it would help me a lot ad I would greatly appreciate it! :)


I installed the plugin and created the role rules unfortunately when I try to recalculate it does not work.



I’m sorry, but without any further clue, it is quite hard to determine the cause. It could depend on a misconfiguration, a 3rd party interference, and several other causes.

First of all, could you provide a more detailed description of the issue? In order to exclude any interference (3rd party or server issues) please use the following installation: (user: admin, pass: admin) to recreate your scenario and report to me if you are still experiencing the issue. If so, please report me a step-by-step guide on how to. Thank you.

Hi Vanquish, I would like to give some comments on the plugin calculation part.

Currently, I found that the role calculation (I tested amount config only) is triggered when:
  1. an order is placed;
  2. the order status is changed to the one not excluded in general option.
But, it not always for the second point. If refund order status is excluded, the calculation is still not triggered when an order is changed to refund (order amount changed to zero). My suggestion is that if the calculation:
  • the trigger: set calculation processes to be triggered whenever there is an order status changed or the order is move to trash or un-removed, so it will calculate the updated user amounts.
  • calculate amounts: allow to set exclusion of the “amount” from specific order status. e.g. When order is refunded, the refunded amount will be deducted from role upgrade amount.
  • user calculation: limited the calculation only on specific users who’s order is placed, status is changed, so that the calculation will not calculation ALL users every time that leads to heavy server loading.

Understood that this is a big part, so I just want to provide some ideas/workflows because I found that the plugin sometimes doesnt perform calculation, especially when an order is placed by Bank transfer, received money that changed to processing and then refund for some reasons. The calculation triggers and calculation logic seem not clear.

Wish your plugin can be more perfect as there’s no such plugin like yours.

thank you for your suggestions!

However, actually the calculation is already triggered whenever an order is changed. You can give a look to the WCRA_Order.php file located in the classes\com folder.

As you can see at line 9, the plugin hooks to the woocommerce_order_status_changed action (triggered by WooCommerce when an order changes status). The handler is defined at line 24. It forces the computation of the roles of the users associated to that order. The recomputation considers only the order that match the selected order statuses (set globally:

Make eventually sure to enable the “Role(s) removal if amount spent doesn’t match” option:

I’ll perform some further tests for the scenario you reported to have more clues for the issue you are experiencing!

Please try updating to the latest 8.8 version, it should fix the issue you experiencing when trashing or refunding an order!

Thanks a lot vanquish for the update of trashing order or refund order!


Is it possible to track role changes through a report or log?

Best regards,

Dada staff

I’m sorry, the plugin hasn’t such a feature

Can you recommend a plugin that tracks role changes dynamically (last 3 months, last 6 months <- important! , last year)?

I’m really sorry I don’t know any plugin that performs that :(

Hi, I would like to give some advice after using for a couple of periods:

1) About Customer email notification: - Email works fine when member upgraded - While if member is downgraded, there’s no email for it. - It would be highly appreciated if there is an email notification for customer.

2) About Recalculate user roles - Situation 1 (order 1): I found that if an order is dropped into the trash, the customer will still keep the current role. - Also, if there’s an order 2 changes status, the situation 1 remains unchanged too.

Hi Vanquish,

1) I finally had tested the shortcode in email section. However, [removed_roles] and [added_roles] shortcodes will return message: No roles have been removed & No roles have been added in the notification email. Quite strange.

Kind reminder: I can see your changelog on codecanyon, but the documentation or item page doesnt include you updates, like shortcode. It may confuse the new customers. =)

Thank you for reporting! From my tests all seems working fine, I’ll perform further analysis!

No problem =)

What is the current version for WooCommerce Role-O-Matic ? I have Version 4.9 and I’m getting an error.

The latest is 8.4


Tell us what you think!

We'd like to ask you a few questions to help improve CodeCanyon.

Sure, take me to the survey