Первый для количества $woocommerce->cart->cart_contents[$key]['quantity'] = $qty;
полностью устарел ... Вместо этого используйте метод WC_Cart
set_quantity()
таким образом:
WC()->cart->set_quantity( $cart_item_key, $qty );
Чтобы изменить атрибуты товара в корзине
Переменные товары и вариации товара в корзине
Переменные товары недоступны для редактирования, так как в корзину можно добавить только изменение товара из него…
Единственный способ отредактировать атрибут для вариации, установленной в вариации продукта, - это использовать следующую зацепленную функцию в woocommerce_add_cart_item
ловушке фильтра.
Плагин ключа атрибута продукта для цели всегда начинается сattribute_pa_
.
Заменяемый термин должен быть слагом (а не именем).
Здесь для атрибута продукта "Размер" мы меняем его на "XXL", например:
add_filter( 'woocommerce_add_cart_item', 'filter_add_cart_item', 10, 2 );
function filter_add_cart_item( $cart_item_data, $cart_item_key ) {
if ( isset($cart_item_data['variation']['attribute_pa_size']) ) {
// Changing the term slug for product attribute "Size" from "m" to "XXL"
$cart_item_data['variation']['attribute_pa_size'] = 'xxl';
}
return $cart_item_data;
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Протестировано и работает.
Для других продуктов это нечто гораздо более сложное и действительно бесполезное.