WooCommerce автоматически добавляет изображение товара в галерею (если галерея пуста) - PullRequest
1 голос
/ 25 апреля 2020

В WooCommerce продукт может иметь изображение продукта (одно изображение) и галерею продукта (несколько изображений).

Когда я выбираю изображение продукта для продукта, я хочу, чтобы оно автоматически добавлялось в продукт. также галерея.

Одна важная вещь: она должна проверить, находится ли изображение товара в галерее или нет (чтобы в галерее не было дублированного изображения).

Есть ли php функция для этого?

(я подозреваю, эти строки кода могут помочь в создании функции)

1 Ответ

0 голосов
/ 26 апреля 2020

Я решил это, добавив изображение продукта в массив галереи в самом шаблоне.

<?php
    global $product;
    $attachment_ids = $product->get_gallery_image_ids();
    $product_image_id = $product->get_image_id();

    // Add product image to gallery if its not there.
    // (This will prevent empty galleries, and also prevent duplicate images)
    if (!in_array($product_image_id, $attachment_ids)) {
        array_unshift($attachment_ids, $product_image_id);
    }

    foreach ($attachment_ids as $attachment_id) :
        $attachment_full_url = wp_get_attachment_image_src($attachment_id, 'full')[0];
    ?>
        <div class="swiper-slide"><a href="<?php echo $attachment_full_url; ?>"><?php echo wp_get_attachment_image($attachment_id, 'woocommerce_single'); ?></a></div>
    <?php
    endforeach;
?>

Однако, лучшим решением было бы на самом деле добавить изображение продукта к Сама галерея, вместо наличия кода шаблона, делает это.

...