Заказ закрыт
доработка кода для woocommerce, wordpress

Бюджет: 1500 ₽/час
Вариативный товар выводить как множество товаров. Сейчас это реализовано с помощью плагина 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
Опубликован 07.09.2024 в 10:39
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.