Open
Reported for: WPML Multilingual CMS 4.5.14
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
- Open the …/wp-content/plugins/jetpack/modules/woocommerce-analytics/classes/class-jetpack-woocommerce-analytics-universal.php file.
- Replace:
1
$referer_postid
= isset(
$_SERVER
[
'HTTP_REFERER'
] ) ? url_to_postid( esc_url_raw( wp_unslash(
$_SERVER
[
'HTTP_REFERER'
] ) ) ) : 0;
With
1$referer_postid
=
$_POST
[
"add-to-cart"
];
Workaround #2: Edit WPML
- Open the …wp-content/plugins/wpml-string-translation/classes/slug-translation/RewriteRules/Hooks.php file.
- Replace:
123
if
( !
$this
->cache ) {
$this
->cache =
$this
->factory->create()->rewrite_rules_filter(
$value
);
}
With
123// if ( ! $this->cache ) {
$this
->cache =
$this
->factory->create()->rewrite_rules_filter(
$value
);
// }