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:
- Add the loop element. Until you choose a Component it renders placeholder items
reading "Choose a Component from the dropdown." - In Repeated Block, pick the Component to repeat. Edit Component opens it
in the builder. - Optionally set the Tag each item is wrapped in (
article,section, ordiv).

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: