WPML

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

Вы можете столкнуться с ошибкой ERR_TOO_MANY_REDIRECTS при использовании WPML Multilingual & Multicurrency for WooCommerce, если для постоянных ссылок товаров задана База магазина с категорией.

Эта проблема возникает, когда для товаров установлен режим Переводимый — использовать перевод, если доступен, или резервный вариант на языке по умолчанию, и категории товаров также переводимы. При переключении на дополнительный язык переведенный URL товара обрабатывается некорректно, что вызывает бесконечный цикл перенаправлений.

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

Эта проблема исправлена в WPML Multilingual & Multicurrency for WooCommerce 5.5.3. Обновление решает эту проблему на Вашем сайте, поэтому это обходное решение понадобится Вам, только если Вы пока не можете выполнить обновление.

Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия Вашего сайта.

  • Откройте файл function.php Вашей темы оформления.
  • Добавьте следующий код:
    add_filter( 'wc_product_post_type_link_product_cat', 'custom_modify_product_cat', 10, 3 );
    
    function custom_modify_product_cat( $primary_term, $terms, $post ) {
    	// Example: Replace the primary term if the product has a specific category
    	if ( $post->post_type === 'product' ) {
    		foreach ( $terms as $term ) {
    			$termid = apply_filters( 'wpml_object_id', $term->term_id, $term->taxonomy, TRUE  );
    			$term = get_term( $termid, $term->taxonomy );
    			return $term;
    		}
    	}
    	return $primary_term;
    }

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

Всё ещё сталкиваетесь с этой проблемой?

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