提问者:小点点

在单个产品页面上将类别图像显示为横幅


我想显示类别图像作为横幅在伍兹商业单一产品页面。我正在使用此代码,但它显示了所有类别图像。

if(is_single()) {
    $terms = get_the_terms( $post->ID, 'product_cat' );
    foreach ( $terms as $term ){
      $category_name = $term->name;
      $category_thumbnail = get_woocommerce_term_meta($term->term_id, 'thumbnail_id', true);
    $image = wp_get_attachment_url($category_thumbnail);
     echo '<img class="absolute '.$category_name.' category-image" src="'.$image.'">';
    }
    }

我只想显示类别图像。当我点击该产品时,它会将其类别图像显示为横幅。


共2个答案

匿名用户

代码中的问题:您在编码中所做的是,您正在获取分配给产品的所有术语(get_the_terms)。这就是它显示所有图像的原因。

解决方案:您可以更改代码以获得特定产品的横幅图像,或者您可以简单地设置虚拟条件以仅获得一个图像。

虚拟条件代码:

if(is_single()) {
    $terms = get_the_terms( $post->ID, 'product_cat' );
    $i=0; //Variable for dummy condition
    foreach ( $terms as $term ){
        if($i==0): //Dummy Condition
            $category_name = $term->name;
            $category_thumbnail = get_woocommerce_term_meta($term->term_id, 'thumbnail_id', true);
            $image = wp_get_attachment_url($category_thumbnail);
            echo '<img class="absolute '.$category_name.' category-image" src="'.$image.'">';
            $i++; //Increment it to make condition false
        endif;
    }
}

如果你有任何疑问,请告诉我。

匿名用户

您选择了子类别,这就是为什么显示所有类别图像