The Repeater Tabs display format loops through each row of an ACF Repeater field and renders them as switchable tab panels. Each row becomes its own inner-block context: a chosen sub-field powers the tab label, and the panel holds any inner blocks placed inside.
The format is well-suited to comparison tables, multi-step product information, and any repeated content where only one row should be visible at a time.
Supported Field Types
The Repeater Tabs display format supports the following field types:
- Repeater
Inner Blocks (Panel Content)
Each tab is composed of two parts: the label, which renders the value of the Title Sub Field chosen in the sidebar; and the panel body, which is composed of inner blocks. Every row of the bound repeater field becomes one tab, with its sub-field values exposed as block context.
How to add blocks
- Click inside the active tab’s panel area.
- Use the “+” inserter to add blocks. The inserter prioritizes the ACF Repeater Sub-Field block, which is the most common choice inside a repeater loop.
- Standard WordPress blocks (Heading, Paragraph, Image, Group, etc.) also work — they’re cloned once per row.
Resolving sub-field values
ACF Sub-Field blocks added inside the panel auto-scope their Field Source to the current repeater row — just pick the sub-field name.
Editing one tab at a time
Only the active tab’s panel is editable in the canvas. Switch tabs by clicking the tab strip, then add blocks to the newly active panel — but note that the panel content is shared across rows (it’s a template, not per-tab markup), so changes apply everywhere.
Customization
Sidebar controls cover the tab strip’s position and alignment, label source, color styling for active / inactive states, padding, gaps, and border. The block also ships with four block-style variations (Classic, Boxed, Underline, Pill) selectable from the Styles section of the inspector.
| Customization | Description | Note |
|---|---|---|
| Block Style | Visual style of the tab strip. Options: Classic (default), Boxed, Underline, Pill. | Lives in the Styles section of the inspector (standard WordPress block-style variation picker). |
| Title Sub Field | Which sub-field of the repeater is rendered as each tab’s label. | |
| Tabs Position | Where the tab strip sits relative to the panel content. Options: top, right, bottom, left. | |
| Tabs Alignment | Horizontal (top / bottom positions) or vertical (left / right positions) alignment of the tab strip. Includes a “Stretch” option to fill the axis. | |
| Tab Title Alignment | Horizontal alignment of the label inside each tab. Options: left, center, right. | Only shown when tabs are positioned left/right or when horizontal alignment is set to Stretch. |
| Tabs Width | Width of the tab strip when positioned left or right. Any CSS unit. | Only shown when Tabs Position is left or right. |
| Tab Color | Tab label color in active and inactive states. | |
| Tab Background | Tab background color in active, inactive, and wrapper states. | |
| Content Background | Background color of the panel content area. | |
| Border | Border color around the tab strip / content. | |
| Active Tab Indicator | Color of the active-state indicator line. | Only shown for the Underline-style variation. |
| Tab Padding | Inner padding of each tab label cell. Top / right / bottom / left independently. | |
| Tabs Gap | Spacing between adjacent tabs. Axis matches the tab position (horizontal for top/bottom, vertical for left/right). | |
| Content Padding | Inner padding of the panel content area. | |
| Border Width | Border width of the tab strip / content. Range: 0–10. | |
| Tabs Radius | Corner radius of the tabs. Range: 0–50. | Hidden for the Underline-style variation. |
| Empty Message | Toggle (“Show message if empty”) plus fallback text shown when the repeater has no rows. |
The block also supports the following standard WordPress block controls: Block Alignment (wide, full), Typography (font size, line height, family, weight, style, transform, decoration, letter spacing), and vertical Margin.