Free WooCommerce plugin

Custom product tabs that stay where you put them

Product Tabs Studio adds tabs to WooCommerce product pages: tabs written for one product, and global tabs that appear on every product matching a category, tag, brand, product type or a list of products. It also reads the tabs stored by three other tab plugins, so nothing disappears on the storefront while you switch.

Requires WordPress 6.2 or newer, WooCommerce 7.0 or newer and PHP 7.4 or newer. GPLv2 or later. The plugin sends no data.


What it does

WooCommerce gives every product three tabs: Description, Additional information and Reviews. Shops usually need more — a size guide, shipping and returns, care instructions, warranty terms, manufacturer details. Product Tabs Studio adds those tabs and decides which products they appear on.

  • Tabs for one product

    Unlimited tabs per product, written in the WordPress editor (visual or text). Drag to reorder, switch a tab off without deleting it, and edit the tab key that #tab-key links point to.

  • Tabs for many products

    Write a tab once and show it on all products, or only on products that match your rules: category (with subcategories), tag, brand, specific products or product type, with include and exclude lists.

  • Your existing tabs

    Tabs stored by Custom Product Tabs for WooCommerce (YIKES), Product Tabs for WooCommerce (Barn2) and WB Custom Product Tabs are rendered by read-only adapters. Importing them is optional.

Who it is for

  • Shops that outgrew the Description tab. Specifications, shipping terms and care instructions belong in their own tabs, not at the bottom of one long description.
  • Shops that need the same tab on many products. One global tab with a category or brand rule replaces the same text copied into hundreds of products.
  • Shops on a tab plugin that is no longer maintained. The read-only adapters keep the storefront intact while you move at your own pace.
  • Agencies and developers. Shortcodes, filters, template overrides in the theme, a system report to paste into a ticket, and JSON export and import between staging and production.

Three things that make the difference

1. Tabs that survive saving

Product tabs disappearing after a product save is the most common failure in this category, and it has a mundane cause: PHP silently truncates large forms at max_input_vars, and a plugin that writes whatever arrived overwrites good data with nothing.

Product Tabs Studio counts the rows it rendered and compares them with the rows that arrived. If the form is incomplete, nothing is written and you get a notice that names the PHP setting and how to raise it. Every product also keeps its last five versions of tabs, restorable from the product editor. Quick edit, bulk edit, the WooCommerce CSV importer, the REST API and the block product editor never reach the tab meta at all, so they cannot clear it.

2. Global tabs by rule

A global tab is a piece of content plus a rule about where it appears. Rules combine categories (optionally including subcategories), tags, brands, specific products and product types, with an include list, an exclude list and a match mode of any or all. Brand rules work with WooCommerce Brands, Perfect Brands and YITH Brands.

A single product can still hide a global tab or replace its content locally, without changing the global tab that other products use.

3. Migration that never deletes the old data

Activate the plugin and deactivate your old tab plugin: your tabs are read directly from where they already are, with their existing order, keys and CSS classes. That is enough to keep the storefront working; there is no migration step you have to complete first.

Importing the data into native storage is a separate, optional choice: dry run first, then migrate, then verify (the two renderings are compared tab by tab), and roll back if you disagree with the result. The other plugin's data is never modified by any of these steps.

What it looks like

The Product Tabs panel inside the WooCommerce product editor. A green badge reads "Stored by Product Tabs Studio", next to it the last save date and a "Restore previous version" menu listing two earlier versions. Below are three tab rows — Specifications with an open editor, Shipping & returns and Care instructions — each with a drag handle, an anchor key such as #tab-shipping-returns and an Enabled checkbox.
Tabs for one product, with drag-and-drop order, per-tab anchor keys and the version history that the Restore menu reads from.
The global tab editor. A box titled "Where this tab appears" offers All products, Products matching rules (selected) and Only where attached manually, followed by rule fields: Categories set to Clothing with "include products in subcategories" ticked, an empty Tags field, Brands set to Northline, and Specific products listing two products. A sidebar box shows "Matches by rules: about 7 products".
A global tab and its rules. The sidebar counts how many products currently match before you publish.
The Tab order screen. Rows for the WooCommerce tabs Details (priority 10, default), Additional information (20, default) and Reviews (30, default) surround a highlighted box called "Product-specific tabs (automatic priority)" that contains five saved tabs, each marked auto. Buttons at the bottom read Save order and Reset to WooCommerce defaults.
The Tab order screen. WooCommerce tabs you do not move keep their standard priorities.
A WooCommerce product page on the storefront with a vertical tab list: Description, Additional information, Specifications, Shipping & returns (selected) and Reviews. The open panel shows a heading and two sentences about delivery times and the returns window.
The result on the storefront. Custom tabs sit before Reviews by default; the theme styles them like any other tab.

The default WooCommerce tabs stay put

Description, Additional information and Reviews keep the priorities WooCommerce gives them unless you move them yourself on the Tab order screen. There you can also rename or hide them, and a Reset button returns all three to the WooCommerce defaults.

New custom tabs are placed before Reviews by default. You can move that slot to the top, after the Description or after all other tabs.

More about tab order and the default tabs

Manufacturer and safety tabs

The EU General Product Safety Regulation (Regulation (EU) 2023/988) asks online shops to show the manufacturer's name, address and electronic contact with the product offer, and, for goods made outside the EU, the EU responsible person.

The plugin ships a small template library that includes "Manufacturer information (GPSR)" and "EU responsible person", alongside templates for size guides, care instructions, shipping and returns, warranty and safety information. Create one global tab per brand or category, insert the template, fill in your details and set the rule. Everything here is in the free plugin. Filling brand fields in once and having them appear on every product of that brand is a planned Pro feature.

Compatibility

WordPress
6.2 or newer, tested up to 7.1.
WooCommerce
7.0 or newer. HPOS (high-performance order storage) declared compatible.
PHP
7.4 to 8.3. The code contains no PHP 8-only syntax.
Themes
Classic themes and block themes. In a block theme the tabs appear in the Product Details block.
Page builders
When a builder takes over the single-product template, the plugin detects Elementor, Divi, Bricks and WPBakery and tells you which rendering mode to use. The shortcodes [ptstudio_tabs] and [ptstudio_tab] cover layouts that dropped the default tabs.
Translation
WPML and Polylang configuration is included (wpml-config.xml and translated-field mapping).
Performance
Measured on a catalogue of 2,000 products with 300 global tabs. Resolving a product's tabs reads one post meta value, one option and the product's terms.

Get it

The plugin is free and complete. There is no trial, no feature that stops working, and no account to create.

A paid tier, Product Tabs Studio Pro, is in development for shops that manage tabs at catalogue scale. It cannot be bought yet; the pricing page says what it will add and has a waiting list.