WPML
Status
Open
Reported for
WPML Multilingual CMS 4.5.14
Related plugin/theme
Jetpack
Topic tags
Compatibility

Overview of the issue

If you are logged out of a site that uses Jetpack, whenever you try to add a product to the cart in a secondary language, you get a 404 error.

Workaround

There are two possible workarounds, but please be sure to make a full backup of your website before proceeding.

Workaround #1: Edit Jetpack


  1. Open the …/wp-content/plugins/jetpack/modules/woocommerce-analytics/classes/class-jetpack-woocommerce-analytics-universal.php file.

  2. Replace:
    $referer_postid = isset( $_SERVER['HTTP_REFERER'] ) ? url_to_postid( esc_url_raw( wp_unslash( $_SERVER['HTTP_REFERER'] ) ) ) : 0;

    With

    $referer_postid = $_POST["add-to-cart"];

Workaround #2: Edit WPML


  1. Open the …wp-content/plugins/wpml-string-translation/classes/slug-translation/RewriteRules/Hooks.php file.

  2. Replace:
    		if ( ! $this->cache ) {
    			$this->cache = $this->factory->create()->rewrite_rules_filter( $value );
    		}

    With

    //		if ( ! $this->cache ) {
    			$this->cache = $this->factory->create()->rewrite_rules_filter( $value );
    //		}

All known issues →