WooCommerce获取属性缩略图 - Variation Swatches and Photos插件

时间:2017-07-24 14:23:34

标签: wordpress plugins woocommerce attributes thumbnails

我正在使用插件WooCommerce Variation Swatches and Photos,它允许我为产品的属性添加缩略图。

我需要列出模板上的所有属性,我还希望得到并显示缩略图。

true

缩略图功能在WooCommerce中不是默认功能,因此当我print_r $ term时,没有缩略图网址:

MyDTO

如何获取属性的缩略图?

4 个答案:

答案 0 :(得分:1)

产品类别术语 'product_cat' 分类的经典方法是:

$terms = get_terms( array(
    'taxonomy' => 'product_cat',
    'hide_empty' => false,
) );

foreach ( $terms as $term ) {
    $thumb_id = get_woocommerce_term_meta( $term->term_id, 'thumbnail_id', true );
    $img_src = wp_get_attachment_url(  $thumb_id );
    echo '<p><img src="'.$img_src.'" alt="" />'.$tem->name.'</p>';
}
  

因此可能会将分类标准更改为 'pa_texture' 等产品属性,它应该可以解决问题(我希望,但我不确定因为我不使用 Variation Swatches and Photos插件

答案 1 :(得分:1)

这是未经测试的,但以下的某些变体应该有效:

foreach ( $terms as $key => $term ) {
    $thumbnail_id = get_woocommerce_term_meta( $term->term_id, $term->taxonomy . '_photo', true );
    $terms[ $key ]->thumb = wp_get_attachment_image_src( $thumbnail_id );
    print_r( $term );
}

如果查看the relevant plugin file,您可以看到作者如何获取图片。上面的代码基于此。

答案 2 :(得分:1)

感谢@ Und3rTow的输入找到了解决方案。

get_woocommerce_term_meta中的正确参数为pa_texture_swatches_id_photo

以下是最终代码:

$thumbnail_id = get_woocommerce_term_meta( $term->term_id, 'pa_texture_swatches_id_photo', true );
$textureImg = wp_get_attachment_image_src( $thumbnail_id ); ?>
<img src="<?php echo $textureImg[0]; ?>">

答案 3 :(得分:0)

在加售产品中显示图像时遇到了类似的问题。有一团糟,但是:

if ( $products_upsells->have_posts() ) : while ( $products_upsells->have_posts() ) : $products_upsells->the_post();
        $_product = wc_get_product(get_the_ID());
        $attributes = $_product->get_attributes();
        $attr_id = $attributes['pa_kolor']['options'][0];
        $thumb_id = get_term_meta($attr_id);
        $img_src = wp_get_attachment_url($thumb_id['pa_kolor_swatches_id_photo'][0] );
        echo '<img src="'.$img_src.'" alt="" />';
    endwhile; endif;
    wp_reset_query();

请参阅此代码:

$_product = wc_get_product(get_the_ID());
$attributes = $_product->get_attributes();
$attr_id = $attributes['pa_kolor']['options'][0];
$thumb_id = get_term_meta($attr_id);
$img_src = wp_get_attachment_url($thumb_id['pa_kolor_swatches_id_photo'][0] );