我想在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.'">';
}
}
我只想显示类别图片。当我点击产品时,它会将其类别图像显示为横幅。
答案 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;
}
}
如果您有任何疑问,请告诉我。