取消设置woocommerce中特定产品类别的产品选项卡 [英] Unset product tabs for specific product categories in woocommerce

查看:212
本文介绍了取消设置woocommerce中特定产品类别的产品选项卡的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用来自此答案的代码:

I am using the code coming from this answer:

仅隐藏标签WooCommerce单一产品页面中的某些产品

这是代码:

add_filter( 'woocommerce_product_tabs', 'conditionaly_removing_product_tabs', 98 );
function conditionaly_removing_product_tabs( $tabs ) {

    // Get the global product object
    global $product;

    // Get the current product ID
    $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;

    // Define HERE your targetted products IDs in this array   <===  <===  <===
    $target_products_ids = array(123,152,162);

    // If the current product have the same ID than one of the defined IDs in your array,… 
    // we remove the tab.
    if(in_array($product_id, $target_products_ids)){

        // KEEP BELOW ONLY THE TABS YOU NEED TO REMOVE   <===  <===  <===  <===
        unset( $tabs['description'] ); // (Description tab)  
        unset( $tabs['reviews'] );     // (Reviews tab)
        unset( $tabs['additional_information'] ); // (Additional information tab)

    }

    return $tabs;

}

此代码可以很好地设置或隐藏特定产品的标签.

This code works fine to unset or hide tabs from specific products.

相反,我想取消设置或隐藏特定产品类别中的标签.

如何针对产品类别执行此操作?

How can I do it for product categories?

推荐答案

作为我的答案之一中的代码,只需更改两行并使用它,即可使其非常适用于产品类别WordPress条件函数 has_term() :

As the code originally from one of my answers, it's very simple to make it work for product categories just changing 2 lines and using WordPress conditional function has_term():

add_filter( 'woocommerce_product_tabs', 'conditionaly_removing_product_tabs', 99 );
function conditionaly_removing_product_tabs( $tabs ) {

    // Get the global product object
    global $product;

    // Get the current product ID
    $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;

    // Define HERE your targeted categories (Ids, slugs or names)   <===  <===  <===
    $product_cats = array( 'clothing', 'posters' );

    // If the current product have the same ID than one of the defined IDs in your array,… 
    // we remove the tab.
    if( has_term( $product_cats, 'product_cat', $product_id ) ){

        // KEEP BELOW ONLY THE TABS YOU NEED TO REMOVE   <===  <===  <===  <===
        unset( $tabs['description'] ); // (Description tab)  
        unset( $tabs['reviews'] );     // (Reviews tab)
        unset( $tabs['additional_information'] ); // (Additional information tab)
    }
    return $tabs;
}

代码会出现在您活动的子主题(或主题)的function.php文件或任何插件文件中.

经过测试的代码可以在WooCommerce中使用.

The code tested and works in WooCommerce.

WordPress条件函数 has_term() 接受ID,或您产品类别的名称...

WordPress conditional function has_term() accept Ids, slugs or names of your product categories…

这篇关于取消设置woocommerce中特定产品类别的产品选项卡的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆