Skip to main content
Documentation/Dynamic Data/Loops/Loops Overview
Dynamic Data

Loops Overview

A loop repeats one design across many items: a blog index, a related-posts row, a list
of categories, the rows of a repeater field. You build the item design once as a
Component, point a loop element at it, and Oxygen renders
one copy per item — each filled with that item's own
dynamic data.

The three loop elements

Oxygen has three loop elements, all in the Dynamic category of the Add panel. They
differ only in where the items come from.

Element Loops over Read more
Post Loop Builder Posts, pages, or any custom post type Post Loops
Term Loop Builder Terms of a taxonomy — categories, tags, custom taxonomies Term Loops
Repeater Field The rows of an ACF Repeater or Metabox Cloneable Group Repeater Fields

Every loop repeats a Component

All three elements share the same Content → Repeated Block section, and it works the
same way in each:

  1. Add the loop element. Until you choose a Component it renders placeholder items
    reading "Choose a Component from the dropdown."
  2. In Repeated Block, pick the Component to repeat. Edit Component opens it
    in the builder.
  3. Optionally set the Tag each item is wrapped in (article, section, or div).
The Repeated Block section with a Component chosen
The Repeated Block section with a Component chosen

The Component is what turns one design into many. Inside it, you bind elements to
dynamic data — and those bindings resolve against
whatever the loop is currently rendering rather than against the page. A heading bound to
Post Title shows each post's own title; the same Component dropped in a Term Loop resolves
term fields instead; in a Repeater Field it resolves that row's subfields. What's
available to bind depends on the loop:

  • Post Loop Builder — the post's fields, its author, its terms. See
    Post Loops.
  • Term Loop Builder — the term's name, description, count and term custom fields. See
    Term Loops.
  • Repeater Field — the subfields of the row being rendered. See
    Repeater Fields.

Every field is listed in the Fields Reference.

The canvas renders the loop with real content immediately, so you're designing against
your actual posts rather than placeholders.

Alternate & Static Items

By default every item uses the same Component. Alternate and static items break that at
chosen positions — every third card in a different design, a promo block after the second
result. It's in the Advanced popout inside Repeated Block, and it behaves identically
on all three loop elements. See
Alternate & Static Items.

Empty State

A loop with nothing to show renders nothing at all. The empty state replaces that gap with
a Component of your own — a "no results yet" message rather than a hole in the page. Also
in the Advanced popout, and also identical on all three. See
Empty State.

Pagination

On the Post Loop Builder and the Term Loop Builder, a loop with more items than it
shows can page through them — numbered pages, Load More, or infinite scroll. See
Pagination.

Layout and design controls

Loops carry design controls the elements you place by hand don't have — the layout mode
(list, grid, slider, accordion, tabs, masonry), how many items sit in a row, the space
between them. They live on the loop element itself rather than in the classes you apply to
it, so they're documented with the element: