Вариативный товар выводить как множество товаров. Сейчас это реализовано с помощью плагина wc-variations-as-single-product-pro. Но он не подтягивает галерею для каждой вариации, а также у такого товара не отображает варианты остальных цветов.
Задача: 1. Добавить галерею для вариативных товаров, чтобы у вариации выводилась свои фото аналогично родительскому. 2. Добавить вариацию по цвету аналогично родительскому, но чтобы первый цвет шел цвет этой вариации. 3. Убрать вариации по размеру и оставить только один атрибут - по цвету. Убедится что цвет не дублируется, так как вариации товаров сделаны так: на каждый цвет ещё и размер.
Важно знать: 1. По дефолту у woocommerce нет встроеннеой галереи для вариации, там можно указать лишь одну картинку. Поэтому мы реализовали галерею для каждой вариации. Код: \add_action('itglx_wc1c_product_variation_images', function ($variationId, $attachmentIds) { // если картинок нет или меньше двух, очистим мету с галереей if (empty($attachmentIds) || count($attachmentIds) < 2) { \update_metadata('post', $variationId, '_variation_images', '');
return; }
// уберем первый ID медиафайла из набора, так как он уже используется, как основная картинка вариации array_shift($attachmentIds);
$imageUrls = [];
foreach ($attachmentIds as $attachmentId) { $imageUrls[] = \wp_get_attachment_url($attachmentId); }
\update_metadata('post', $variationId, '_variation_images', implode(';', $imageUrls)); }, 10, 2); 2. Для вариации по цветам используется специальный плагин: aovup Variation Swatches 3. Для вывода вариаций как отдельных товаров активирован плагин: wc-variations-as-single-product-pro