WooCommerce Product Data Tabs Not Working
Half of these reports are not faults at all. WooCommerce hides a tab that has nothing to display, so the first question is never why the tab broke but whether it had any reason to appear.
Quick fix: decide which tabs you mean. The product data box in the admin editor and the tabs on the public product page share a name and nothing else — different code, different failure modes. Then check whether the missing tab has any content to show, because WooCommerce removes tabs that would be empty and that is not a bug.
Two different systems
On the front end, WooCommerce builds an array of tabs after the product summary. Each entry carries a title, a priority and a callback that renders its panel. The three defaults are conditional:
- Description appears only if the product has description content.
- Additional information appears only if the product has weight, dimensions, or an attribute ticked as visible on the product page.
- Reviews appears only if reviews are enabled for the site and open on that product.
In the admin, the product data box builds its tabs from a separate filter and shows or hides them according to the selected product type. Those type rules are applied as CSS classes — the equivalent of "show if simple", "hide if variable" — which admin JavaScript toggles when you change the type dropdown.
That second mechanism matters. A tab you cannot see in the editor may be correctly hidden for the product type you selected, and the Shipping tab vanishing on a virtual product is intended behaviour, not a fault.
Front end: work down this list
Is the tab supposed to exist? Open the product in the editor and check the three conditions above. An empty description means no Description tab. Attributes added purely to generate variations, with the visibility box unticked, produce no Additional information tab — a distinction covered in product variations. Reviews disabled site-wide means no Reviews tab anywhere. This costs a minute and resolves a large share of cases.
Did the theme replace the template? This is the next most common cause and the cheapest to confirm: switch to a default theme for a single page load and reload the product. If the tabs return, your theme or page builder is rendering its own product layout. Builders that offer a single-product template usually drop the tabs unless you place the corresponding element, and a block theme's Single Product template needs the block that outputs product details for the tabs to exist at all.
Are your template overrides outdated? Open WooCommerce → Status and read the templates section. A copied tabs template sitting in your theme from an older release will keep rendering the old structure indefinitely. Compare it with the current core version and re-apply your changes rather than leaving it stale.
Is a plugin removing them? Tabs are filterable, which means any plugin can unset one. Test on staging by disabling non-essential plugins, then re-enabling one at a time, following fixing plugin conflicts. Review and product-enhancement plugins are the usual candidates, often because they intentionally move reviews elsewhere.
Do the tabs render but not respond? View source or inspect the page. If all the panels are in the markup and simply stacked, the problem is scripts, not tabs. Look for the first console error, and suspect an optimiser that combined, deferred or delayed the WooCommerce single-product script. If the tabs are present but unstyled, the stylesheet is the failure instead — see WordPress CSS not loading.
Are you looking at cached HTML? Test in a private window after clearing caches, per clearing the WordPress cache. Do this before making further changes, not after, or you will misread the result of every subsequent test.
Admin: the product data box
The order here is shorter, because the causes are narrower.
- Open the browser console on the edit screen. A JavaScript error from any plugin loading on that screen stops the tab switching for all of them. The first error in the list is the one to chase.
- Confirm the product type. Tabs hidden for the selected type are correct behaviour. Switch to Simple briefly and see whether the tab reappears.
- Check for admin-side optimisation. Caching and optimisation plugins should leave the admin alone; some do not. Exclude wp-admin from script processing.
- Look at custom code last. A snippet filtering the tab list can remove a panel while leaving its tab, or vice versa. If the screen is broken rather than merely missing a tab, enable private logging as described in enabling debug mode and read the fatal.
Confirm the fix on more than one product
Test a simple product, a variable one, a virtual one and a product with no reviews. Tabs are conditional by design, so a fix verified on a single product proves very little — and if products themselves are missing from listings rather than tabs missing from products, you are looking at a different fault entirely, covered in products not showing.
Frequently asked
- That tab appears only when the product has weight, dimensions or at least one attribute marked visible on the product page. An attribute added purely to build variations, with the visibility box unticked, will not produce it. Tick the box on one attribute and the tab returns.
- The tab panels are all rendered in the markup and JavaScript hides the inactive ones, so seeing every panel means the script did not run. Check the browser console for an error, and suspect a script optimiser that combined or deferred the WooCommerce single-product script.
- That box is driven by admin JavaScript, so a fatal error or conflict in another plugin's admin script stops it. It is a separate system from the front-end tabs, and a break in one says nothing about the other.