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

时间:2015-02-25 05:56:49

标签: php wordpress woocommerce

我想在woocommerce单品页面中将类别图像显示为横幅。我正在使用此代码,但它显示了所有类别图像。

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 个答案:

答案 0 :(得分:0)

您选择显示所有类别图像的子类别

答案 1 :(得分:0)

代码中的问题:您在编码中所做的是,获取所有条款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;
    }
}

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