在循环中显示来自产品库的第二张 WooCommerce 图像

Posted

技术标签:

【中文标题】在循环中显示来自产品库的第二张 WooCommerce 图像【英文标题】:Display a second WooCommerce image from product gallery on the loop 【发布时间】:2020-10-21 05:28:57 【问题描述】:

我正在使用此代码来显示 woocommerce 拇指:

    <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $loop->post->ID ), 'single-post-thumbnail' );?>

<img src="<?php  echo $image[0]; ?>" data-id="<?php echo $loop->post->ID; ?>">

但是寻找解决方案如何显示产品库中的第二张图片。如何修改这段代码?

【问题讨论】:

【参考方案1】:

更新:以下将显示产品图库中的第二张图片(第一张图片)

<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $loop->post->ID ), 'single-post-thumbnail' ); ?>

<img src="<?php  echo $image[0]; ?>" data-id="<?php echo $loop->post->ID; ?>">

<?php
// Get gallery images IDs
if( $gallery_image_ids = get_post_meta( $loop->post->ID, '_product_image_gallery', true ) ) :
    // Convert a coma separated string of Ids to an array of Ids
    $gallery_image_ids = explode(',', $gallery_image_ids);

    // Display the first image (optional)
    ?><img src="<?php echo wp_get_attachment_image_url( reset($gallery_image_ids), 'single-post-thumbnail'); ?>" data-id="<?php echo $loop->post->ID; ?>">
    <?php

    // Display the 2nd image (if it exists)
    if( isset( $gallery_image_ids[1] ) ) :
        ?><img src="<?php echo wp_get_attachment_image_url( $gallery_image_ids[1], 'single-post-thumbnail'); ?>" data-id="<?php echo $loop->post->ID; ?>">
    <?php endif; ?>

<?php endif; ?>

相关:How to show all images in WooCommerce product description

【讨论】:

代码显示第一张照片有错误:警告:count():参数必须是数组或实现了Countable in的对象 感谢您的帮助。现在可以正常工作,但显示第一张照片。如何显示第二个?我就是这种情况。 抱歉再次询问...但无法正常工作。肯定有更多照片,但代码仍然只显示第一张照片:) @iqique 更新了一个小错误……对我来说,代码工作得很好,它显示了第一个和第二个画廊图像(当它们存在时)……在最后一个 woocommerce 版本上测试……所以还有别的东西是在你的案子中制造麻烦。 理解正确我想显示画廊中的第二张照片。不显示第二个画廊。对吗?

以上是关于在循环中显示来自产品库的第二张 WooCommerce 图像的主要内容,如果未能解决你的问题,请参考以下文章

Android ViewPager 不会显示第二页?

按我的第二张桌子的计数(*)排序需要很长时间

使卡片列中的第二张卡片填充所有剩余宽度

机器人工程专业师生的第二张名片

INNER JOIN:第二张表的限制为 0,1

UITableView 中的第二个视图不会显示来自 JSON 的解析数据