Free, open source

Custom product tabs without fighting your theme

Tabby adds your own tabs to the WooCommerce product page, alongside the native Description, Additional information and Reviews tabs. Define reusable global tabs once, or add per-product tabs to a single product — each with safe, limited HTML and a choice of placement.

Open source GPLv2
Open source, GPL licensed No account, no card Renders via woocommerce_product_tabs

Works with

WooCommerceGutenbergStorefrontAstraGeneratePressKadence

The product page cannot hold everything

Shipping, a size guide, warranty or care instructions do not belong in the product description, and cramming them into one block breaks the layout and hurts readability.

  • No place for shared content like shipping or warranty
  • Repeating the same information on every product
  • HTML stuffed into the description breaks the page layout
  • Risk of unsafe markup in custom content

Tabby adds tidy, organised tabs

  • Global tabs defined once and shown on every product
  • Per-product tabs only where they are needed
  • Safe HTML sanitised with wp_kses_post
  • Renders via the woocommerce_product_tabs filter, theme friendly

What you get in the free version

Everything you need to organise content on the product page.

Global tabs

Defined once under WooCommerce → Tabby Tabs and shown on every product — perfect for shared content.

Per-product tabs

Added from the Custom Product Tabs (Tabby) box on a product, shown only on that product.

Per-product hiding

Hide a specific global tab on an individual product when it does not apply.

Safe HTML

Content sanitised with wp_kses_post: links, lists, headings, bold/italic, images, blockquotes.

Placement control

Show your tabs before or after the native WooCommerce tabs.

Theme friendly

Renders via woocommerce_product_tabs with sensible priorities, no clashes with your theme.

Accessible admin UI

Dark-mode-aware interface with inline help and no layout shift on the storefront.

Graceful empty states

An empty or disabled tab renders nothing rather than anything broken.

Up and running in three steps

Add your first global and per-product tab.

01

Install

Activate Tabby alongside WooCommerce.

02

Add a global tab

Under WooCommerce → Tabby Tabs, set a title, enter safe HTML and choose the placement.

03

Check a product

Open a product page and confirm the tab appears before or after the native tabs.

Who it is for

When the product page needs more than a description — tidy tabs without a heavy plugin.

Shared store content

Shipping, returns, warranty once for the whole catalog, with no repetition.

  • Global tabs
  • Safe HTML
  • Before/after placement

Products needing detail

A size guide or care notes only where they are needed.

  • Per-product tabs
  • Hide global tabs
  • Inline help

Theme-conscious stores

Renders via the native WooCommerce filter, compatible with popular themes.

  • woocommerce_product_tabs
  • No layout shift
  • Dark-mode admin

Need more? Tabby Pro

FREE covers global and per-product tabs with safe HTML. Tabby Pro will add tab ordering, icons, conditional display and rich content.

  • Drag-to-reorder tabs (planned)
  • Icons and conditional display (planned)
  • Shortcodes and blocks inside tab content (planned)

Support and resources

Every plugin has its own documentation with setup walkthroughs. Bugs and questions go to the public GitHub repository for that plugin — we answer in the open.

Frequently asked questions

Does it require WooCommerce?

Yes. Tabby requires an active WooCommerce installation.

What HTML is allowed in tab content?

The same safe subset WordPress allows in post content (wp_kses_post): links, lists, headings, bold/italic, images and blockquotes. Scripts and unsafe markup are stripped on save and on render.

Can I hide a global tab on one product?

Yes. Open the product, find the Custom Product Tabs (Tabby) box, and tick the global tabs you want to hide for that product.

Where do the custom tabs appear?

On the single product page tab list. You can place them before or after the native WooCommerce tabs from settings.

What is the difference between a global and a per-product tab?

A global tab is defined once and shown on every product; a per-product tab is attached to one product only.

Does Tabby clash with my theme?

No. Tabby renders through the standard woocommerce_product_tabs filter with sensible priorities, so it plays nicely with themes and other plugins.

Organise your product page

Global and per-product tabs with safe HTML and placement control. The full FREE edition under GPL.

Read the docs

FREE is complete custom tabs — PRO adds ordering, icons and conditional display (planned).