隐藏产品页面中的特定类别标签

时间:2015-07-17 14:28:25

标签: woocommerce categories

有没有人知道如何从WooCommerce产品页面的列表中隐藏一个特定的类别标签名称?

示例:产品1属于A,B,C类。 我不想在产品页面的标​​签列表中显示B类。只有A和C.

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

在我的modifying the product query教程的基础上,并使用相应的WP_Query Parameters我认为您可以执行以下操作,以使用slug"类别-b&#排除产品类别中的所有产品34 ;.您需要根据需要调整slu ..未经测试。

add_action( 'woocommerce_product_query', 'so_31478197_product_query' );

function so_31478197_product_query( $q ){

    $tax_query => array(
        array(
            'taxonomy' => 'product_cat',
            'field'    => 'slug',
            'terms'    => 'category-b',
            'operator' => 'NOT IN',
        ),
    ),

    $q->set( 'tax_query', (array) $tax_query );

}

答案 1 :(得分:0)

谢谢你helgatheviking。 我手动编写了一个自定义函数。

我将其粘贴到此处,因此将来可能会有所帮助。

function hide_product_cat() {
global $post;
$terms = get_the_terms( $post->ID, 'product_cat' );
if(!empty($terms)){
echo "<span class='prod_categories'>" . _n( 'Category:', 'Categories:', count($terms), 'woocommerce' ) . " ";
foreach ($terms as $term) {
$woo_cat_id = $term->term_id; //category ID
$woo_cat_name = $term->name; //category name
$woo_cat_slug = $term->slug; //category slug
if($woo_cat_id != <MY_CATEGORY_ID_B> ){
$result .= '<a href="' . get_term_link( $woo_cat_slug, 'product_cat' ) . '" rel="tag">' . $woo_cat_name . '</a>, ';
}
}
$result = substr($result, 0, -2) . ".";
echo $result;
echo "</span>";
}
}