php - WooCommerce 自动将产品图片添加到图库(如果图库为空)

标签 php wordpress woocommerce product gallery

在 WooCommerce 中,产品可以有产品图片(单张图片)和产品图库(多张图片)。

当我为产品选择产品图片时,我希望它也自动添加到产品图库中。

一件重要的事情:它应该检查产品图片是否已经在图库中(这样图库就不会有重复的图片)。

是否有相应的 php 函数?

(我怀疑 these lines of code 可能有助于创建函数)

最佳答案

我通过将产品图片添加到模板本身的图库数组中解决了这个问题。

<?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;
?>

但是,更好的解决方案是实际将产品图片添加到图库本身,而不是让模板代码执行此操作。

关于php - WooCommerce 自动将产品图片添加到图库(如果图库为空),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61431257/

相关文章:

php - 使用 Postman 通过 HTTP POST 上传图片

javascript - 使用PHP将表数据保存为CSV格式

wordpress - 为什么 Chrome 忽略 IE 条件标签?

wordpress - 在 wordpress 中构建页面后的 do_action

php - 在 Woocommerce 订单和电子邮件中的订单总计后添加自定义文本

javascript - 不可见的 reCAPTCHA 缺少输入响应

php - 上传文件限制

php - WordPress 使用大量内存

html - 更改 Font Awesome 图标颜色的自定义 css 是什么?

php - WooCommerce 在添加之前检查产品 ID 的库存