Use Group for a shared section boundary. Use Row for horizontal children that may wrap.
Use Stack for a dependable vertical sequence. All three are variations of the core Group block.
Do not add a container without ownership. Normal document flow already handles many simple sequences.
Compare Group, Row, and Stack
- Group creates a general container and section boundary.
- Row arranges direct children horizontally.
- Stack arranges direct children vertically.
- Row exposes horizontal justification and wrapping.
- Stack keeps one clear vertical flow.
- Group commonly uses constrained or flow layout.
The three blocks share many style controls. Their default layout relationships create the practical difference.
Understand the Group family
The official Group block guide identifies Group, Row, and Stack as variations. Each uses different layout defaults.
They can contain other blocks and share colours, borders, dimensions, and advanced settings.
You can transform between variations. Review child behaviour after every transform.
Use Group for a section boundary
A Group can own background, padding, width, anchor, border, and shared layout behaviour.
Use it when several blocks form one meaningful section. Name that section’s responsibility clearly.
Do not Group consecutive paragraphs merely because the control exists. Extra nesting creates maintenance cost.
Use Row for horizontal relationships
Row suits metadata, buttons, badges, icons, compact navigation, and short aligned elements.
Its children share a horizontal relationship. Their order should remain sensible when wrapping occurs.
Enable wrapping when labels cannot shrink safely. Test the longest realistic values.
Use Stack for vertical relationships
Stack suits card interiors, forms, notices, summaries, and narrow supporting panels.
Its children remain vertically ordered. That simplicity survives width changes and text expansion.
Use a Stack when horizontal presentation provides no value. Fewer modes create fewer failures.
Know when no container is better
Paragraphs and headings already follow normal document flow. They may need no extra Group.
Add a container only when it owns layout, style, locking, reuse, or semantic grouping.
Empty wrappers complicate List View and CSS selection. Remove them when they own nothing.
Create a Group from selected blocks
- Select related blocks together.
- Open the grouping controls.
- Choose Group, Row, or Stack.
- Inspect the new parent in List View.
- Apply only parent-owned styles.
- Preview the frontend.
The block insertion guide documents nested containers. Use their inserters to add direct children.
Transform between Group variations
Select the parent container and choose another variation. Existing children remain, but layout changes immediately.
Check width, wrapping, justification, alignment, and gap afterward. Stored local styles may no longer fit.
Save a revision before transforming complex containers. Nested changes can affect many visible relationships.
Choose constrained or flow Group layout
A constrained Group limits inner blocks to content and wide boundaries. Children can select wider alignment. We took that apart in wide vs full alignment in WordPress blocks.
A flow Group lets children fill its available width normally. The parent may provide its own maximum.
The layout settings overview explains content-width controls. Choose by section responsibility.
Use Group for full-width section bands
Set an outer Group to full width. Give it background and responsive padding.
Constrain its inner blocks to readable widths. Wide backgrounds do not require wide paragraphs.
This creates one clear section owner. Avoid repeating background and padding across children.
Use Row justification correctly
Row can align children left, centre, right, or with space between. Each choice expresses a relationship.
Space between pushes edge items apart. It can create large voids on wide canvases.
Do not use typed spaces for alignment. Let the Row layout own positioning.
Use Row wrapping deliberately
Wrapped children move onto additional lines under pressure. They do not become one strict vertical Stack.
Several small items may remain beside each other. Larger children may occupy separate lines.
Test horizontal and vertical gaps after wrapping. Both directions need intentional spacing.
Use Stack alignment carefully
Stack can align its children across the available horizontal axis. The correct alignment depends on content.
Centred short content may work. Long centred paragraphs often become difficult to scan.
Stretching children can support full-width controls. Check buttons and inputs before forcing them wide.
Use block gap instead of child margins
The parent container should usually own sibling separation. Block spacing provides that shared relationship.
Child margins can combine with parent gap and create doubled space. Inspect both layers.
Review WordPress block spacing for the complete ownership model.
Build a button row
- Add a Row block.
- Add the required Button blocks.
- Set a shared gap.
- Enable wrapping.
- Keep action order meaningful.
- Test long labels and zoom.
The dedicated Buttons block may already solve this case. Use Row for broader mixed-content relationships.
Build a card interior
- Add a Group for the card boundary.
- Apply background, border, and padding.
- Add an inner Stack.
- Place media, heading, text, and action.
- Set one internal gap.
- Test uneven content lengths.
The Group owns the surface. The Stack owns the card’s vertical child relationship.
Build a metadata row
Dates, authors, categories, and reading details can share a Row. Keep their source order logical.
Allow wrapping before text becomes cramped. Use separators that remain clear after reflow.
Do not reduce metadata below readable sizes. Layout should adapt before typography fails.
Build a notice
An outer Group can own background, border, padding, and semantic class. An inner Stack holds content.
A Row can place a compact icon beside a short title. Keep the message below.
Do not rely on colour or icon alone. Real text must name the notice type.
Nest containers with clear responsibilities
Nesting is useful when each layer owns something distinct. One may own surface, another layout.
Deep nesting multiplies selection and responsive states. Remove wrappers without clear responsibility.
Name reusable patterns by purpose. Editors should not need to decode container archaeology.
Inspect nested containers in List View
List View reveals parent and child boundaries. Select the container whose setting you need.
Rename important Groups when the editor supports it. Useful labels reduce accidental edits.
Move the parent only when the section should travel together. Move children for internal order changes.
Preserve source order
Row presentation should not contradict source reading order. Keyboard and screen-reader users follow underlying structure.
Do not reverse children visually without testing focus and reading sequences. Consistent source order is safer.
Stack makes source order visible immediately. Read it independently from the desktop composition.
Test responsive behaviour
Group behaviour depends on its layout and parent width. Row may wrap under pressure.
Stack remains vertical but can inherit problematic child widths. Test every nested block.
Drag through intermediate widths. Preset device previews miss many content-pressure failures.
Test long content and translations
Long labels expose Row wrapping. Long paragraphs expose poor Stack alignment and width decisions.
Test missing and additional children. Optional content can change justification dramatically.
Use realistic translated strings. English placeholders rarely represent maximum content pressure.
Use container backgrounds responsibly
Group family blocks can own backgrounds. Their text, links, and controls need sufficient contrast.
Apply padding so focus outlines and content avoid edges. Test nested surface combinations.
Do not apply backgrounds to every wrapper. Too many surfaces weaken hierarchy.
Use sticky Group positioning carefully
Supported Groups may offer sticky positioning. The effect depends on ancestors and scrolling containers.
Sticky content can cover headings, controls, or skip links. Test zoom and small screens.
Use it for a demonstrated navigation or context need. Ordinary flow remains safer.
Use locking with ownership
Lock a container when its structure must remain intact. Avoid blocking legitimate content work.
Content-only editing can protect structure while allowing approved replacements. Test the actual editor role.
Document why the lock exists. Mystery restrictions encourage unsafe workarounds.
Diagnose a Row that will not wrap
- Select the parent Row.
- Check its wrapping setting.
- Inspect child minimum widths.
- Check fixed widths and long text.
- Review additional classes.
- Inspect theme and plugin CSS.
- Test the public frontend.
One child can force the entire Row wide. Diagnose that child before changing the parent.
Diagnose unexpected container width
Check alignment, layout type, content width, wide width, padding, and parent constraints.
A full child still fills only its available parent. List View reveals that boundary.
Inspect public computed styles before adding CSS. Change the winning owner instead.
Create reviewed container patterns
Patterns can preserve meaningful Group boundaries, Row wrapping, Stack gaps, and responsive assumptions.
Use realistic content and optional children. A pattern should survive ordinary editorial variation.
Lock only fragile structural parts. Keep semantic and content choices available where appropriate.
Use the Group family inside templates
Templates use Groups to define shared page regions. Rows often arrange header identity and navigation.
Stacks can organise narrow footer columns or metadata. Shared edits affect every assigned template.
Preview posts, pages, archives, and empty states. Template content varies more than one editor canvas.
Handle fixed child widths
A Row can wrap only when children permit it. Fixed widths and minimums can force overflow.
A Stack can still overflow when one child remains too wide. Vertical layout is not overflow protection.
Inspect tables, code, embeds, images, and long URLs. Fix the responsible child.
Handle optional children
Removing one Row child can change space-between justification dramatically. Test every supported item count.
Removing a Stack child may expose doubled gaps or missing section context. Patterns need optional-state review.
Do not add empty placeholders to preserve balance. Layout should tolerate honest content states.
Use borders and padding at the correct layer
A Group boundary can own border and padding together. Its children should not imitate that edge.
A Row inside can own sibling spacing without owning another surface. A Stack can do likewise.
Separate surface ownership from flow ownership. That model keeps nested styles understandable.
Consider markup and performance
Every container adds markup and generated layout styles. A few useful layers create negligible concern.
Hundreds of unnecessary wrappers increase document complexity. They also slow editing and maintenance.
Optimise structure for ownership first. Remove containers that serve no layout, style, or governance role.
Migrate improvised container layouts
Legacy content may use empty Columns, Spacer blocks, or nested Groups for alignment.
Identify the intended relationship before rebuilding. Then choose Group, Row, Stack, Grid, or ordinary flow.
Convert one representative pattern on staging. Compare source order, widths, gaps, and responsive output.
Approve container patterns
Record each layer’s responsibility beside the pattern. Include wrapping and optional-child assumptions.
Capture narrow, wide, zoomed, and translated examples. These states reveal different container weaknesses.
Retest after theme or WordPress updates. Layout defaults and controls can evolve.
Hand container layouts to editors
Explain which container owns surface, flow, gap, alignment, and responsive behaviour. Use plain role names.
Show editors how List View exposes those layers. Visual selection alone becomes unreliable in nested layouts.
Provide supported content limits and optional states. Training should include failure examples, not only pristine patterns.
Review recurring workarounds. They often reveal a missing pattern or unclear ownership rule.
Keep the approved pattern available for later regression testing.
Group, Row, and Stack checklist
- Name the container’s responsibility.
- Use Group for a section boundary.
- Use Row for horizontal relationships.
- Use Stack for vertical relationships.
- Skip containers that own nothing.
- Set one parent-owned gap.
- Enable Row wrapping when needed.
- Preserve meaningful source order.
- Inspect nesting through List View.
- Test long content and zoom.
- Check public width and overflow.
- Document locks and custom CSS.
Frequently asked questions
What is the difference between Group, Row, and Stack?
Group defines a section, Row flows horizontally, and Stack flows vertically.
Are Row and Stack separate WordPress blocks?
They are variations of the core Group block with different layout defaults.
When should I use a Row block?
Use Row for related horizontal children that can wrap safely when space narrows.
When should I use a Stack block?
Use Stack when children should remain in one dependable vertical sequence.
Can I transform Group into Row or Stack?
Yes. Transform the parent, then review wrapping, alignment, width, and spacing.
The verdict
Specialist layout blocks should complement understandable core containers. Test free plugins first. Then compare the $299 lifetime suite when several Pro blocks fit maintained layouts.

Leave a Reply