在WooCommerce中获取变体图像缩略图的URL

时间:2017-11-15 13:31:47

标签: php wordpress woocommerce

我正在使用以下代码来获取特定产品的每个变体的图像:

$product = new WC_Product_Variable( $product_id );
$variations = $product->get_available_variations();

foreach ( $variations as $variation ) {
  echo "<img src=" . $variation['image']['url'] .">";
}

这将返回完整尺寸的图像。

任何人都可以告诉我如何修改此内容以返回“缩略图”网址(或任何其他尺寸)

我确信这是一个相当简单的改变,但我无法弄明白。

4 个答案:

答案 0 :(得分:3)

使用thumb_src而不是url。

$product = new WC_Product_Variable( $product_id );
$variations = $product->get_available_variations();

foreach ( $variations as $variation ) {
  echo "<img src=" . $variation['image']['thumb_src'] .">";
}

答案 1 :(得分:0)

如果您知道产品变体ID,则可以

// find out $variation_id, it's different from product_id
$variation = new WC_Product_Variation( $variation_id );
$image_tag = $variation->get_image();

// The below is the whole image tag including <img> and some classes that will help customize it.
echo $image_tag;

请参阅我在WC_product_variation课程和WC_Product课程的Woocommerce参考资料中找到的相关文档。函数get_image()实际上是从WC_Product继承的,但您可以在任一类中使用它。

答案 2 :(得分:0)

自WooCommerce版本3.0.0起,您可以获得的变体图片ID为:

$image_id = $variation->get_image_id();

这将返回变体图片ID(如果有),否则,将返回主产品图片ID。可以在产品后端找到一个变化图片,如下图所示:

enter image description here

然后您可以使用此图像ID来获取您的变体或产品缩略图的URL,如下所示:

$image_array = wp_get_attachment_image_src($image_id, 'thumbnail');
$image_src = $image[0];

该代码段已经过测试并且可以正常工作。

答案 3 :(得分:-1)

我有不同颜色和尺寸的衣服。 是否可以省略尺寸并仅显示单色的缩略图

现在,它以小,中和大尺寸显示红色的缩略图。三个重复的缩略图。