WPML
Статус
Решено
Заявлено для
WPML Multilingual & Multicurrency for WooCommerce 5.3.9
Решено в
WPML Multilingual & Multicurrency for WooCommerce 5.5.3
Теги темы
Bug, WCML

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

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

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

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

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


  • Откройте файл 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;
    }

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