iThemeland Free Gifts For WooCommerce
The support doesn work on Saturdays and Sundays, so some Friday requests can be answered on Monday. If you have problems with registration ask help on contact us page pleaseIf you not got email within 24~36 business hours, firstly check your spam box, and if no any email from the support there - back to the forum and read answer here. DO NOT ANSWER ON EMAILS [noreply@pluginus.net] FROM THE FORUM!! Emails are just for your info, all answers should be published only here.
The support doesn work on Saturdays and Sundays, so some Friday requests can be answered on Monday.
Quote from lukecb on July 4, 2026, 13:01Hello,
we use the FOX currency change plugin Currency Switcher Professional for WooCommerce and iThemeland Free Gifts For WooCommerce.
If the currency changes, the terms and conditions do not accept the conversion to the new currency.
If the term is 2000 CZK and it switches to Euro, it takes it as 2000 Euro.
Is there a solution?
Thanks for your help
Hello,
we use the FOX currency change plugin Currency Switcher Professional for WooCommerce and iThemeland Free Gifts For WooCommerce.
If the currency changes, the terms and conditions do not accept the conversion to the new currency.
If the term is 2000 CZK and it switches to Euro, it takes it as 2000 Euro.
Is there a solution?
Thanks for your help
Quote from Alex Dev on July 6, 2026, 12:04Hello
Thank you for the details. What you are describing is a compatibility matter between FOX – Currency Switcher Professional and the third-party iThemeland Free Gifts For WooCommerce plugin. The Free Gifts plugin stores its threshold (e.g. 2000 CZK) as a plain number and does not run it through the currency conversion, so when the currency is switched to Euro it keeps reading the value as 2000 EUR instead of converting it.
This kind of cross-plugin integration is something we can look into under our WOOCS Labs program. Please read the details here first:
https://currency-switcher.com/woocs-labs
If you would like us to investigate, we would need the following from you:
- Set up a staging site that reproduces the issue (a copy of your live site is fine).
- Record a short video showing the problem — the threshold in CZK, the currency switch, and how it is then treated as EUR.
- Provide access to that staging site, both WP admin and FTP.
Please note that because this is an incompatibility between two separate plugins, we cannot guarantee a fix in advance — but with the staging access and video we will do our best to find a working solution.
Looking forward to your reply.
Hello
Thank you for the details. What you are describing is a compatibility matter between FOX – Currency Switcher Professional and the third-party iThemeland Free Gifts For WooCommerce plugin. The Free Gifts plugin stores its threshold (e.g. 2000 CZK) as a plain number and does not run it through the currency conversion, so when the currency is switched to Euro it keeps reading the value as 2000 EUR instead of converting it.
This kind of cross-plugin integration is something we can look into under our WOOCS Labs program. Please read the details here first:
https://currency-switcher.com/woocs-labs
If you would like us to investigate, we would need the following from you:
- Set up a staging site that reproduces the issue (a copy of your live site is fine).
- Record a short video showing the problem — the threshold in CZK, the currency switch, and how it is then treated as EUR.
- Provide access to that staging site, both WP admin and FTP.
Please note that because this is an incompatibility between two separate plugins, we cannot guarantee a fix in advance — but with the staging access and video we will do our best to find a working solution.
Looking forward to your reply.
Quote from lukecb on July 9, 2026, 08:12Thank you
Test website: https://dev.elabela.cz
There is a condition on the website:
1. When purchasing over 500 CZK, a free sample is displayed. If I add a product for 600 CZK to the cart, a selection of samples is displayed as a gift.
2. I switch to Euro 600/23 = 26 Euro, the gift is not displayed. The plugin sees it as 26 CZK < 600 CZK, the gift is offered. It should be 26 Euro > 21.73.
Thank you for your help
Thank you
Test website: https://dev.elabela.cz
There is a condition on the website:
1. When purchasing over 500 CZK, a free sample is displayed. If I add a product for 600 CZK to the cart, a selection of samples is displayed as a gift.
2. I switch to Euro 600/23 = 26 Euro, the gift is not displayed. The plugin sees it as 26 CZK < 600 CZK, the gift is offered. It should be 26 Euro > 21.73.
Thank you for your help
Quote from Alex Dev on July 9, 2026, 12:30Hello
I just checked access to the site + ftp, all works fine, I created task and within 1 week we will get results, thank you for cooperation ...
Hello
I just checked access to the site + ftp, all works fine, I created task and within 1 week we will get results, thank you for cooperation ...
Quote from Alex Dev on July 17, 2026, 15:29Hello
Its juts friendly reminder, task is in the process, we remember about it ...
Hello
Its juts friendly reminder, task is in the process, we remember about it ...
Quote from lukecb on July 18, 2026, 14:59Thank you for the information and analysis.
Lukas
Thank you for the information and analysis.
Lukas
Quote from Alex Dev on July 20, 2026, 14:18Hello Lukas
We have finished the investigation and we have a working solution for you. The modified build of iThemeland Free Gifts For WooCommerce is in the private area of this ticket. We tested it on your staging site and the gift rules now behave identically in CZK and in EUR.
What the actual problem was
Every money value the gift rules compare against comes from the cart, and those values are converted by FOX into the currency the visitor has selected. The money values stored inside the rules, such as your threshold of 500 CZK, are plain numbers saved in the shop base currency and were never converted by the gifts plugin. So as soon as a visitor switched to EUR, the two sides of the comparison were expressed in two different currencies.
There was also a second, less obvious part. Your rule gives one sample for every 500 CZK spent, which means the plugin does not only compare the amounts, it divides one by the other. Product prices are converted and rounded per cart line, so the converted total never lands on the exact original number. That fractional difference was enough to lose a whole gift when the division was cut down to a whole number, which is why in EUR you were offered fewer gifts than in CZK.
What was changed in the plugin
A new file was added: frontend/functions/woocs-compat.php. It contains a small compatibility layer with four functions. One detects whether FOX is active and whether the visitor is in a non base currency. One converts an amount from the selected currency back to the shop base currency. The remaining two perform the threshold comparison and the threshold division with a tolerance that absorbs the rounding produced by the currency conversion.
frontend/main.php was changed by one line, so the new file is loaded before the other frontend function files.
frontend/functions/condition-functions.php was changed in four places. In it_get_cart_subtotal the cart subtotal and the subtotal with tax are normalized to the base currency, which covers the Subtotal and Subtotal repeat methods and the Cart subtotal condition. In get_wc_cart_sum_of_item_subtotals the result is normalized as well, which covers the conditions based on the value of specific products, variations, categories, attributes, tags and shipping classes. In group_prices the price of each cart line is normalized, which covers the Bulk pricing method. In get_wc_order_sum_of_item_values only a comment was added and the logic was left untouched, because order totals are historical data stored in the currency the order was placed in and must not be recalculated.
frontend/classes/check_rule_condition.php was changed in three places. In the Subtotal method the threshold comparison now goes through the tolerant comparison. In the Subtotal repeat method both the threshold comparison and the division that determines how many gifts are granted go through the tolerant versions. In the Cart total condition the cart total is normalized to the base currency before it is compared.
Two things worth knowing
In the shop base currency nothing is converted at all, so the plugin behaves exactly as the original. The same is true if FOX is deactivated. All the new code paths only become active when a visitor has selected a currency other than your base one.
These changes live inside the gifts plugin, which means they will be overwritten when you update that plugin. Please keep a copy of the build we sent you. If you prefer a permanent solution, the right step is to ask iThemeland to include this compatibility in their own releases, and you are welcome to forward this description to them.
Please test on your side and let us know the results. Useful cases to check are a cart at exactly the threshold, a cart at several times the threshold, and a cart just below it, each one in CZK and then in EUR.
Hello Lukas
We have finished the investigation and we have a working solution for you. The modified build of iThemeland Free Gifts For WooCommerce is in the private area of this ticket. We tested it on your staging site and the gift rules now behave identically in CZK and in EUR.
What the actual problem was
Every money value the gift rules compare against comes from the cart, and those values are converted by FOX into the currency the visitor has selected. The money values stored inside the rules, such as your threshold of 500 CZK, are plain numbers saved in the shop base currency and were never converted by the gifts plugin. So as soon as a visitor switched to EUR, the two sides of the comparison were expressed in two different currencies.
There was also a second, less obvious part. Your rule gives one sample for every 500 CZK spent, which means the plugin does not only compare the amounts, it divides one by the other. Product prices are converted and rounded per cart line, so the converted total never lands on the exact original number. That fractional difference was enough to lose a whole gift when the division was cut down to a whole number, which is why in EUR you were offered fewer gifts than in CZK.
What was changed in the plugin
A new file was added: frontend/functions/woocs-compat.php. It contains a small compatibility layer with four functions. One detects whether FOX is active and whether the visitor is in a non base currency. One converts an amount from the selected currency back to the shop base currency. The remaining two perform the threshold comparison and the threshold division with a tolerance that absorbs the rounding produced by the currency conversion.
frontend/main.php was changed by one line, so the new file is loaded before the other frontend function files.
frontend/functions/condition-functions.php was changed in four places. In it_get_cart_subtotal the cart subtotal and the subtotal with tax are normalized to the base currency, which covers the Subtotal and Subtotal repeat methods and the Cart subtotal condition. In get_wc_cart_sum_of_item_subtotals the result is normalized as well, which covers the conditions based on the value of specific products, variations, categories, attributes, tags and shipping classes. In group_prices the price of each cart line is normalized, which covers the Bulk pricing method. In get_wc_order_sum_of_item_values only a comment was added and the logic was left untouched, because order totals are historical data stored in the currency the order was placed in and must not be recalculated.
frontend/classes/check_rule_condition.php was changed in three places. In the Subtotal method the threshold comparison now goes through the tolerant comparison. In the Subtotal repeat method both the threshold comparison and the division that determines how many gifts are granted go through the tolerant versions. In the Cart total condition the cart total is normalized to the base currency before it is compared.
Two things worth knowing
In the shop base currency nothing is converted at all, so the plugin behaves exactly as the original. The same is true if FOX is deactivated. All the new code paths only become active when a visitor has selected a currency other than your base one.
These changes live inside the gifts plugin, which means they will be overwritten when you update that plugin. Please keep a copy of the build we sent you. If you prefer a permanent solution, the right step is to ask iThemeland to include this compatibility in their own releases, and you are welcome to forward this description to them.
Please test on your side and let us know the results. Useful cases to check are a cart at exactly the threshold, a cart at several times the threshold, and a cart just below it, each one in CZK and then in EUR.

Quote from lukecb on July 21, 2026, 06:00Hello Alex,
Great, now everything works even after switching currencies.
Great support
Thank you
Hello Alex,
Great, now everything works even after switching currencies.
Great support
Thank you
Quote from Alex Dev on July 21, 2026, 11:51Hello Lukas
You are Welcome :)
Hello Lukas
You are Welcome :)
