仅在Woocommerce单个产品中显示定义的产品标签缩略图

时间:2019-06-04 11:23:03

标签: php wordpress woocommerce hook-woocommerce taxonomy-terms

下面的这段代码检查产品是否带有标签。如果是的话,它将检查标签是否是数组中的任何标签。然后,它吐出该产品的所有标签。

我想要此代码执行的操作仅显示我指定的标签。

我正在使用标签“可堆肥”,“可生物降解”,“回收”,“可回收”作为图像向用户显示该产品具有绿色证书。

但是,我还使用了许多我不希望用户看到的其他标签。我只希望客户看到这4个标签(如果存在),有时这些标签中只有一个可能是相关的,有时最多是4个。

我将如何使用以下内容?

//lets show the tag images
add_action( 'woocommerce_after_single_product_summary', 'showTagImages', 6 );

function showTagImages() {
    $current_tags = get_the_terms( get_the_ID(), 'product_tag' );

    //only start if we have some tags
    if ( $current_tags && ! is_wp_error( $current_tags ) ) { 

        if( has_term( array( 'compostable','biodegradable','recycled','recyclable' ), 'product_tag') ) {
                //style it.
                echo '<style type="text/css">
                ul.productTags{background:rgba(60, 184, 120, 0.70); margin:0; padding:10px; display:inline-block; list-style:none; text-align:center; border-radius: 3px; width:39%; }
                .productTags li{margin:0; padding:5px; display:inline-block; }
                .productTags img{margin:0; padding:0;}
                </style>';

                //create a list to hold our tags
                echo '<ul class="productTags">';

                //for each tag we create a list item
                foreach ($current_tags as $tag) {

                    $tag_title = $tag->name; // tag name

                    echo '<li><img alt="'.$tag_title.'" src="/img/tags/'.$tag_title.'.png"></li>';
                }

                echo '</ul>';}

         }
    }

0 个答案:

没有答案