WPML
Статус
Открыто
Заявлено для
WPML Multilingual CMS 4.5.14
Связанный плагин/тема
Jetpack
Теги темы
Compatibility

Обзор проблемы

Если Вы не авторизованы на сайте, использующем Jetpack, при каждой попытке добавить товар в корзину на дополнительном языке Вы получаете ошибку 404.

Обходное решение

Существует два возможных обходных решения, но перед тем как продолжить, обязательно создайте полную резервную копию Вашего сайта.

Обходное решение № 1: измените Jetpack


  1. Откройте файл …/wp-content/plugins/jetpack/modules/woocommerce-analytics/classes/class-jetpack-woocommerce-analytics-universal.php .

  2. Замените:
    $referer_postid = isset( $_SERVER['HTTP_REFERER'] ) ? url_to_postid( esc_url_raw( wp_unslash( $_SERVER['HTTP_REFERER'] ) ) ) : 0;

    На:

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

Обходное решение № 2: измените WPML


  1. Откройте файл …wp-content/plugins/wpml-string-translation/classes/slug-translation/RewriteRules/Hooks.php.

  2. Замените:
    		if ( ! $this->cache ) {
    			$this->cache = $this->factory->create()->rewrite_rules_filter( $value );
    		}

    На:

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

Все известные проблемы →