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

ajsxfq5m  于 2023-03-07  发布在  WordPress
关注(0)|答案(4)|浏览(250)

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

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

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

这将返回完整大小的图像。

有人能告诉我如何修改此链接以返回“缩略图”URL吗?(或任何其他大小)

我相信这是一个相当简单的变化,但我就是想不通。

cgfeq70w

cgfeq70w1#

使用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'] .">";
}
jbose2ul

jbose2ul2#

如果您知道产品变体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;

请参阅Woocommerce参考中的WC_product_variation类和WC_Product类的相关文档。函数get_image()实际上继承自WC_Product,但您可以在任何一个类中使用它。

db2dz4w8

db2dz4w83#

从WooCommerce版本3.0.0开始,您可以获得变体图像的ID:

$image_id = $variation->get_image_id();

这将返回变体映像ID(如果可用),否则将返回主产品映像ID。变体映像可在产品后端找到,如下图所示:

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

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

代码片段经过测试并正常工作。

3zwtqj6y

3zwtqj6y4#

我有不同颜色和尺码的衣服。是否可以省略尺码而只显示单一颜色的缩略图
现在,它正在以小,中,大尺寸显示红色的缩略图。三个重复的缩略图。

相关问题