I am using the code coming from this answer:
Hiding tabs only for some products in WooCommerce single product pages
Here is that code:
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.
Instead I would like to unset or hide tabs from specific product categories.
How can I do it for product categories?
Try below code
For check more then 1 categories used
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()
:Code goes in function.php file of your active child theme (or theme) or also in any plugin file.
The code tested and works in WooCommerce.