WooCommerce guide

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:

TabKeyPriorityShown when
Descriptiondescription10the product has a description
Additional informationadditional_information20the product has visible attributes, weight or dimensions
Reviewsreviews30reviews 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:

  1. Install and activate Tabwright.
  2. Go to WooCommerce → Product Tabs → Default tabs.
  3. 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.
  4. Click Save settings.

A few details that save you snippets:

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.

Get it free on WordPress.org: coming soonAbout Tabwright