woocommerce_product_tabs

This filter changes the product tabs array used to render descriptions, additional information, reviews, and custom tabs on WooCommerce product pages.

Quick Reference

TypeFilter hook
AreaProduct details
Arguments$tabs (array)
SourceWooCommerce code reference

How It Works

WooCommerce passes an associative array to apply_filters(). Common keys include description, additional_information, and reviews. These are array identifiers, not the text customers see on tabs. A tab definition may contain a title, priority, and callback.

PHP Example

add_filter( 'woocommerce_product_tabs', function ( $tabs ) {
    unset( $tabs['reviews'] );
    return $tabs;
} );

This removes the Reviews tab from the classic tabs array without disabling WooCommerce product reviews themselves.

Add the code to a site-specific plugin or a child theme's functions.php file, then test it on a staging site.

HoverCraft in Practice

HoverCraft attaches hovercraft_rename_woocommerce_additional_information_tab() to this filter at priority 20, changing the visible Additional Information tab title to Product Specs. A separate woocommerce_product_additional_information_heading filter changes the heading inside the tab. See the HoverCraft theme source and WooCommerce Product Pages documentation.

Common Pitfalls

The displayed tab title is not its PHP array key. Continue using $tabs['additional_information'] even when customers see Product Specs. Callback priorities also matter. A title change at the default priority 10 runs before HoverCraft's priority 20 callback and may be replaced by it. Use a later priority, such as 30, when you intentionally need to override the theme's title.

Compatibility

The filter controls classic product tabs and is also called by some WooCommerce Product Details block compatibility paths. Block templates can handle default tabs differently, so test the actual product layout.