How to rename, reorder or remove WooCommerce product tabs
WooCommerce’s default tabs, Description, Additional information and Reviews, don’t fit every store. Here is how to rename, reorder or remove them with a short snippet, or from a settings screen without code.
The tab keys you need
All three tabs go through the woocommerce_product_tabs filter, in an array keyed by ID:
| Tab | Key | Priority | Shown when |
|---|---|---|---|
| Description | description | 10 | the product has a description |
| Additional information | additional_information | 20 | the product has visible attributes, weight or dimensions |
| Reviews | reviews | 30 | reviews are enabled and open on the product |
Add the snippets below to a child theme’s functions.php or with a snippets plugin such as Code Snippets. They run at priority 98: after WooCommerce adds its tabs (at the default 10) and before it sorts them (at 99). Always check a tab exists with isset() before changing it, because a product may not have it.
Rename a tab
add_filter( 'woocommerce_product_tabs', 'mystore_rename_tabs', 98 );
function mystore_rename_tabs( $tabs ) {
global $product;
if ( isset( $tabs['description'] ) ) {
$tabs['description']['title'] = __( 'Details', 'mystore' );
}
if ( isset( $tabs['additional_information'] ) ) {
$tabs['additional_information']['title'] = __( 'Specifications', 'mystore' );
}
if ( isset( $tabs['reviews'] ) && $product instanceof WC_Product ) {
// Keep the review count that WooCommerce shows by default.
$tabs['reviews']['title'] = sprintf( __( 'Customer reviews (%d)', 'mystore' ), $product->get_review_count() );
}
return $tabs;
}
By default WooCommerce shows the number of reviews in the Reviews tab title, so the example keeps it with get_review_count(). Drop the sprintf() if you want a plain title.
The Description and Additional information panels also print a heading inside the panel, which the tab title doesn’t change. They have their own filters:
add_filter( 'woocommerce_product_description_heading', function () {
return __( 'Details', 'mystore' ); // Return '' to remove the heading.
} );
add_filter( 'woocommerce_product_additional_information_heading', function () {
return __( 'Specifications', 'mystore' );
} );
Reorder tabs
Tabs are sorted by priority, lowest first. To show Reviews first and move Additional information to the end:
add_filter( 'woocommerce_product_tabs', 'mystore_reorder_tabs', 98 );
function mystore_reorder_tabs( $tabs ) {
if ( isset( $tabs['reviews'] ) ) {
$tabs['reviews']['priority'] = 5; // Reviews first.
}
if ( isset( $tabs['additional_information'] ) ) {
$tabs['additional_information']['priority'] = 40; // Specifications last.
}
return $tabs;
}
Leave gaps between the numbers so that tabs added by plugins can still fit in between.
Remove a tab
add_filter( 'woocommerce_product_tabs', 'mystore_remove_tabs', 98 );
function mystore_remove_tabs( $tabs ) {
unset( $tabs['additional_information'] );
// unset( $tabs['reviews'] );
// unset( $tabs['description'] );
return $tabs;
}
Removing a tab only hides it on the product page. Descriptions, attributes and reviews stay in the database. If you don’t want reviews at all, turn them off under WooCommerce → Settings → Products → Enable product reviews instead: that also removes the star rating and the review form.
To remove a tab from some products only, check the product first. This hides Reviews on products in a “gift-cards” category:
add_filter( 'woocommerce_product_tabs', 'mystore_no_reviews_on_gift_cards', 98 );
function mystore_no_reviews_on_gift_cards( $tabs ) {
global $product;
if ( $product instanceof WC_Product && has_term( 'gift-cards', 'product_cat', $product->get_id() ) ) {
unset( $tabs['reviews'] );
}
return $tabs;
}
has_term() matches categories the product is directly assigned to, not their parent categories. You find a category’s slug under Products → Categories.
Tabs added by plugins and themes
The same filter carries tabs that other plugins and your theme add, such as a size chart, a Q&A or a brand tab. You can rename, move or remove them in exactly the same way; you only need their key. To find it, temporarily add error_log( print_r( array_keys( $tabs ), true ) ); at the start of your filter function, load a product page and read the list in your PHP error log (with WP_DEBUG_LOG on, that’s wp-content/debug.log). Remove the line when you’re done.
If a plugin adds its tab at a priority later than 98, your change runs first and has no effect. Hook your function later, for example at 100. WooCommerce has sorted the tabs by then, so renaming and removing still work, but changing a priority no longer reorders anything. For plugin tabs, check the plugin’s own settings first: many let you rename or disable their tab without code.
The Tabwright way (free)
Tabwright has a settings screen for the three default tabs, so you can make these changes without touching code:
- Install and activate Tabwright.
- Go to WooCommerce → Product Tabs → Default tabs.
- Type a Custom title for any tab you want to rename, tick Hide for any tab you want to remove, and use the arrows to change the order.
- Click Save settings.
A few details that save you snippets:
- Renaming Description or Additional information also renames the heading inside the panel.
- Use
{count}in the Reviews title, for example “Reviews ({count})”, to show the number of reviews. - The Product custom tabs row sets where your own Tabwright tabs appear among the defaults, for example before Reviews.
These settings are free and apply to the whole store. They don’t hide a default tab on individual products or categories; for that, use the conditional snippet above. Tabwright also adds per-product and reusable tabs, see how to add a custom product tab.
FAQ
Does removing the Reviews tab delete my reviews?
No. Removing a tab only stops it from being printed. Reviews, descriptions and attributes stay in the database and come back when you remove the snippet or untick Hide.
My snippet doesn’t change anything. Why?
Check that the key is spelled exactly (additional_information has an underscore), that the filter runs at priority 98 so another plugin doesn’t overwrite it later, and clear your page cache.
Can I hide a default tab on one product only?
Yes, in code, with a condition like the gift card example. Tabwright’s Default tabs settings apply to the whole store.