This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
Tagged: Custom Work, WCML
Related documentation:
This topic contains 1 reply, has 0 voices.
Last updated by Andreas W. 6 days, 16 hours ago.
Assisted by: Andreas W..
Author | Posts |
---|---|
August 7, 2025 at 11:19 pm #17304162 | |
Kresimir |
Background of the issue: Symptoms: Questions: |
August 9, 2025 at 7:08 pm #17307062 | |
Andreas W. WPML Supporter since 12/2018 Languages: English (English ) Spanish (Español ) German (Deutsch ) Timezone: America/Lima (GMT-05:00) |
Hi Kresimir, Thanks for the detailed explanation! Our add-on WooCommerce Multilingual is designed to use the product data from the original product and synchronize it across translations. This includes prices, stock, and other core fields, ensuring consistency and centralized inventory management. Because of this, we generally don’t recommend altering this behavior, as it could lead to unexpected issues with WooCommerce — especially around stock synchronization, cart logic, and checkout. Also note: custom prices for other currencies can only be edited on the original product, not on its translations. For example, if you have a product in English and a translated product in German, you would go to the original English product and manually set prices for each currency. These prices can differ per currency, and if a custom price is set, WCML will use it instead of applying the exchange rate. If now the currencies are only enabled for specific languages, this will solve your issue. The filter wcml_product_price_by_currency will only work if a custom price is set for the active currency on the original product. It will not take effect if the custom price field is left empty. You could set the prices to "0" using a hook like wcml_raw_price_amount, but note that this will not prevent visitors from buying them. For this, you would also need to set the stock to "0" and you might then run into issues later on to sync the stock again, when actually a custom price will be entered on the original product for the first time. If no custom price is set, you can hide the translated product by setting it as "Private" or "Draft" on the WordPress Editor, or simply make sure that all original products have custom prices for each currency. As I said, these prices can be different in each currency. Please kindly note that custom code solutions and issues that go beyond WPML’s built-in functionality are not covered by our support team. Our support team isn’t obligated to provide or test any custom code implementations, even though I truly tried to find a solution in this case, but it did cause unexpected issues and became too complex to be solvable. If you need a custom solution for this issue, you might need to consider reaching out to an independent contractor. I hope for your understanding. Best regards, |