- Статус
- Открыто
- Заявлено для
- WPML Multilingual CMS 4.5.14
- Связанный плагин/тема
- Jetpack
- Теги темы
- Compatibility
Обзор проблемы
Если Вы не авторизованы на сайте, использующем Jetpack, при каждой попытке добавить товар в корзину на дополнительном языке Вы получаете ошибку 404.
Обходное решение
Существует два возможных обходных решения, но перед тем как продолжить, обязательно создайте полную резервную копию Вашего сайта.
Обходное решение № 1: измените Jetpack
- Откройте файл …/wp-content/plugins/jetpack/modules/woocommerce-analytics/classes/class-jetpack-woocommerce-analytics-universal.php .
- Замените:
$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
- Откройте файл …wp-content/plugins/wpml-string-translation/classes/slug-translation/RewriteRules/Hooks.php.
- Замените:
if ( ! $this->cache ) { $this->cache = $this->factory->create()->rewrite_rules_filter( $value ); }На:
// if ( ! $this->cache ) { $this->cache = $this->factory->create()->rewrite_rules_filter( $value ); // }