On our WooCommerce WordPress product page, I was able to remove the 'Additional Information; tab with the following code:

add_filter( 'woocommerce_product_tabs', 'woo_remove_product_tabs', 98 );

function woo_remove_product_tabs( $tabs ) {

    unset( $tabs['additional_information'] );   // Remove the additional information tab

    return $tabs;


However we have an additional tab 'Sizing' we want this to show on one of our two main categories (show only on one category).

I have tried running the above along with:

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

    //get all categories
    $terms = wp_get_post_terms( $product_id, 'synthetic-wigs' );
    foreach ( $terms as $term ) 
            $categories[synthetic-wigs] = $term-synthetic-wigs;
    if ( in_array( 'synthetic-wigs', $categories ) ) {  
        unset( $tabs['sizing'] ); // (Sizing tab)  
        unset( $tabs['additional_information'] ); // (Additional information tab) 
    return $tabs;

This didn't work and caused a critical error. How can I remove one tab from all and another tab from just one?

Page example: https://www.lacefronts.com.au/product/lace-front-human-hair-wig-light-blonde-bob-with-bangs-wig-6-inch-bron/

New image: https://www.lacefronts.com.au/wp-content/uploads/2023/08/Lace-Fronts-Australia-wig-size-chart.png

  • At first glance, the line $categories[synthetic-wigs] = $term-synthetic-wigs; is missing some characters. It should probably be $categories['synthetic-wigs'] = $term->synthetic-wigs; instead. (I doubt that'll solve your question, but it might fix the fatal error.)
    – Pat J
    Sep 13 at 4:05


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.