Problem:
The client's site does not meet WPML's minimum requirements, WooCommerce Multilingual & Multicurrency is reported as not installed, and sale prices for variable products are not displayed in English.
Solution:
First, we recommend modifying how WPML filters cookies during its REST check. Adjust the method in
WPML\Infrastructure\WordPress\SharedKernel\Server\Application\CheckRestIsEnabled::getCookiesWithoutSessionId
located in
/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wpml/src/Infrastructure/WordPress/SharedKernel/Server/Application/CheckRestIsEnabled.php
. Replace the method with a version that ignores serialized cookies, allowing the check to pass successfully.
Second, add a Custom WAF Rule in Cloudflare to whitelist the endpoint
/wp-json/wpml/v1/rest/status
. Log in to the Cloudflare Dashboard, navigate to Security → WAF → Custom Rules, and create a new custom rule with the expression
(http.request.uri.path contains "/wp-json/wpml/v1/rest/status")
and set the rule’s Action to: Skip → All remaining custom rules. Clear all caches after this adjustment.
If these solutions do not resolve your issue or seem irrelevant due to being outdated or not applicable to your case, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If the problem persists, please open a new support ticket at WPML support forum.