• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Вывод атрибутов в корзине

orange803@

Новичок
Добрый день! Подскажите пожалуйста как вывести атрибуты вариативного товара в корзине. Заранее спасибо!
 

Anfisa

Новичок
В корзине отображается та вариация (атрибут), которую покупатель выбрал и добавил в корзину. Или вы хотите вывести все вариации товара?
 

orange803@

Новичок
Добрый день!
В корзине отображается та вариация (атрибут), которую покупатель выбрал и добавил в корзину. Или вы хотите вывести все вариации товара?
У нас в корзине нет вообще атрибутов вернее есть в заголовке, мне нужно сделать та вариация (атрибут), которую покупатель выбрал и добавил в корзину вот сайт http://cd40232.tmweb.ru/en/product/android-mens-vintage-henley-2/
 

Anfisa

Новичок
Добавьте в файл где прописаны функции темы functions.php или theme-functions.php (в разных шаблонах по разному) 2 строчки:

add_filter( 'woocommerce_product_variation_title_include_attributes', '__return_false' );
add_filter( 'woocommerce_is_attribute_in_product_name', '__return_false' );

Этот код будет работать только с новым Woocommerce
 

Anfisa

Новичок
А вообще принцип добавления атрибутов в корзину следующий: Если вы делаете индивидуальный атрибут, т.е. создаете его прямо в товаре, то он отображается в корзине в виде отдельной строки. Если вы создаете атрибуты заранее в разделе Товары-Атрибуты и потом включаете их в товаре, то они в корзине отображаются в заголовке товара. 2 строки выше отключают отображение атрибутов в заголовке и принуждают отображения атрибута в отдельной строке для всех типов атрибутов.
 

orange803@

Новичок
А вообще принцип добавления атрибутов в корзину следующий: Если вы делаете индивидуальный атрибут, т.е. создаете его прямо в товаре, то он отображается в корзине в виде отдельной строки. Если вы создаете атрибуты заранее в разделе Товары-Атрибуты и потом включаете их в товаре, то они в корзине отображаются в заголовке товара. 2 строки выше отключают отображение атрибутов в заголовке и принуждают отображения атрибута в отдельной строке для всех типов атрибутов.
Спасибо! Сделал так
<? $item_data = $cart_item['data'];
$attributes = $item_data->get_attributes();
foreach ( $attributes as $attribute => $attribute_name ) {
$term = get_term_by('slug', $attribute_name, $attribute);

echo wc_attribute_label( $attribute ).': '.$term->name . '<br>';

}?>
 

Anfisa

Новичок
Спасибо! Сделал так
<? $item_data = $cart_item['data'];
$attributes = $item_data->get_attributes();
foreach ( $attributes as $attribute => $attribute_name ) {
$term = get_term_by('slug', $attribute_name, $attribute);

echo wc_attribute_label( $attribute ).': '.$term->name . '<br>';

}?>
И у вас сработало? У меня в корзине появляется фатальная ошибка Uncaught Error: Call to a member function get_attributes()
 
Сверху Снизу