Skip to content

Instantly share code, notes, and snippets.

@jameskoster
Last active October 5, 2020 17:34
Show Gist options
  • Star 30 You must be signed in to star a gist
  • Fork 11 You must be signed in to fork a gist
  • Save jameskoster/5133466 to your computer and use it in GitHub Desktop.
Save jameskoster/5133466 to your computer and use it in GitHub Desktop.
WooCommerce - Remove product data tabs
add_filter( 'woocommerce_product_tabs', 'woo_remove_product_tabs', 98 );
function woo_remove_product_tabs( $tabs ) {
unset( $tabs['description'] ); // Remove the description tab
unset( $tabs['reviews'] ); // Remove the reviews tab
unset( $tabs['additional_information'] ); // Remove the additional information tab
return $tabs;
}
@tonimoni
Copy link

tonimoni commented Jul 6, 2017

Hi, this works as a charm for desktop, but on mobile I still have Description tab visible.
Do I need to edit code a bit? I know nothing on coding..so please be as detailed as possible.

@makeonlineshop
Copy link

Hello, thank you, but are you sure that it won’t make problems on products without additional information ?

It is said on Woocommerce doc that it will crash when the products do not have additional info.

I read here:
https://docs.woocommerce.com/document/editing-product-data-tabs/

Please note that the “Additional Information” tab will only show if the product has weight, dimensions or attributes (not used for variation for variable products). If you try to apply a change to that tab and if the product does not have weight, dimensions or attribute, you will get an error message similar to :

Warning: call_user_func() expects parameter 1 to be a valid callback, no array or string given in /mysite/wp-content/plugins/woocommerce/templates/single-product/tabs/tabs.php on line 35

In that case you have to use WooCommerce conditional tags:
has_attributes()
has_dimensions()
has_weight()

Thanks again.

@makeonlineshop
Copy link

Sorry, I tested and it works !

I checked products that didn't have additional information and products that have.

Both display well without the additional information tab.

I also hide the review tab:

add_filter( 'woocommerce_product_tabs', 'woo_remove_product_tabs', 98 ); function woo_remove_product_tabs( $tabs ) { unset( $tabs['reviews'] ); // Remove the reviews tab unset( $tabs['additional_information'] ); // Remove the additional information tab return $tabs; }

@Dmelkonyan
Copy link

Thank you so much for posting this! Worked perfectly!

@chirag64bit
Copy link

Great ! work Perfectly

@idearian
Copy link

idearian commented Mar 7, 2018

Thank you, I tested and it works !

@ripfoxco
Copy link

Hi, thanks this works beautifully. One question though, is there any way to modify this code to only remove tabs on mobile devices? I would like to keep product descriptions on desktops but remove them on smaller devices, thanks in advance

@jorgeacruz
Copy link

Thanks Man

@muzammil-ahsan
Copy link

Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment