Для группировки товаров в корзине WooCommerce есть специальный хук-фильтр ‘woocommerce_get_cart_contents‘. При помощи этого фильтра, можно изменить порядок товаров в корзине, например товары из какой-либо категории поднять выше, а из какой-то ниже. Ниже пример, как можно выполнить сортировку/группировку товара по дополнительных условиям. На вход фильтр должен принимать массив данных корзины.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
/** * Группировка товаров в корзине WooCommerce */ add_filter('woocommerce_get_cart_contents', function($cart) { $newCart = array(); $arrUp = []; $arDown = []; foreach ($cart as $key => $item) { $product_id = $item['product_id']; //Тут сделать запрос в WP и узнать категорию товара if ('ЕСЛИ_ВАША_КАТЕГОРИЯ') { $arrUp[$key] = $item; //В в начало } else { $arDown[$key] = $item; //В конец } } $newCart = $arrUp + $arDown; return $newCart; } ); |