Настройка типов товаров WooCommerce (простые, вариативные, группированные)
WooCommerce поддерживает несколько типов товаров из коробки. Правильный выбор типа влияет на отображение на сайте, управление складом и структуру данных в БД.
Простой товар (Simple Product)
Один SKU, одна цена, один вариант. Подходит для: книг, услуг, цифровых загрузок, физических товаров без вариаций.
Настройка в админке: Товары → Добавить → тип «Простой товар». Обязательные поля: цена, SKU. Для цифровых товаров — отметить «Виртуальный» и «Загружаемый», прикрепить файл.
Вариативный товар (Variable Product)
Несколько вариантов с разными атрибутами (размер, цвет, материал). У каждого варианта — своя цена, SKU, остаток.
Шаг 1: Создать атрибуты. WooCommerce → Атрибуты → создать «Размер» со значениями «S, M, L, XL».
Шаг 2: В товаре вкладка «Атрибуты» → добавить атрибут → отметить «Используется для вариаций».
Шаг 3: Вкладка «Вариации» → «Создать вариации из всех атрибутов» → установить цену и SKU для каждой.
Программное создание вариаций:
// Создание вариативного товара программно
$product = new WC_Product_Variable();
$product->set_name('Футболка');
$product->set_status('publish');
// Добавляем атрибуты
$attributes = [];
$attribute = new WC_Product_Attribute();
$attribute->set_id(wc_attribute_taxonomy_id_by_name('pa_size'));
$attribute->set_name('pa_size');
$attribute->set_options(['S', 'M', 'L', 'XL']);
$attribute->set_visible(true);
$attribute->set_variation(true);
$attributes[] = $attribute;
$product->set_attributes($attributes);
$product_id = $product->save();
// Создаём вариации
$sizes = ['S' => 1200, 'M' => 1200, 'L' => 1300, 'XL' => 1400];
foreach ($sizes as $size => $price) {
$variation = new WC_Product_Variation();
$variation->set_parent_id($product_id);
$variation->set_attributes(['pa_size' => $size]);
$variation->set_regular_price($price);
$variation->set_sku('TSHIRT-' . $size);
$variation->set_stock_quantity(100);
$variation->set_manage_stock(true);
$variation->save();
}
Группированный товар (Grouped Product)
Набор простых товаров, объединённых на одной странице. Покупатель выбирает количество каждого. Типичный пример: комплект постельного белья (простыня + наволочки + пододеяльник — продаются и отдельно, и в наборе).
Создание: тип «Группированный» → вкладка «Связанные товары» → поле «Группированные товары» → выбрать дочерние товары.
Составной/комплектный товар
Из коробки WooCommerce не поддерживает сборку комплектов с расчётом цены. Нужен плагин WooCommerce Product Bundles ($79/год) или YITH WooCommerce Product Add-Ons.
Программный запрос вариаций
$product = wc_get_product(123); // ID вариативного товара
if ($product->is_type('variable')) {
$variations = $product->get_available_variations();
foreach ($variations as $variation) {
$variation_obj = wc_get_product($variation['variation_id']);
echo $variation_obj->get_sku() . ': ';
echo $variation_obj->get_price() . ' ₽, ';
echo 'остаток: ' . $variation_obj->get_stock_quantity() . "\n";
}
}
Сроки
Настройка типов товаров, атрибутов и вариаций для каталога из 50–100 товаров — 1–2 дня.







