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


Display category image as banner on single product page

我想在wooccommerce单一产品页面中将类别图像显示为横幅。我使用的是这个代码,但它显示了所有的类别图像。

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.'">';
    }
    }

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

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

解决方案:您可以change your code获取特定产品的横幅图像,也可以简单地放置dummy condition仅获取一个图像。

伪条件代码:

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;
    }
}

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

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