Post Loops
The Post Loop Builder repeats a Global Block once per post. It's the element behind blog
indexes, related-post rows, portfolio grids, team listings — anything driven by a post
type.
Building the loop
- Add Post Loop Builder from Add → Dynamic.
- In Content → Repeated Block, choose the Global Block to repeat, and optionally
the Tag each item is wrapped in. Inside the block, use Dynamic Data so each copy displays its own post's data. - Set the query, the layout, and (optionally) pagination.
Choosing what the loop shows
Content → Query decides which posts the loop renders. It offers three modes:
- Custom opens the visual Query Builder — the normal choice.
- Text takes a query string, for example
post_type=post&posts_per_page=4. - Array takes PHP that returns an array of
WP_Queryarguments.
The Query Builder

- Source — Post Types, Related (items related to the current one), or ACF
Relationship when ACF is active. - Include — which post types to pull from.
- Amount — Posts per page, Total posts, and Offset.
- Conditions — conditions drawn from the same catalog as element display and template
targeting, narrowed to the ones that can filter a query. See
Conditions Reference. - Meta Query — filter by custom field values, with nested groups for complex logic.
- Order — Order By (Date, Last modified date, Title, Comments count, Menu order,
Random — plus ACF and Meta Box when those plugins are active, each revealing a Field
chooser) and Order (Descending or Ascending). Alongside it: a Date filter with
Before Date / After Date, and toggles for Ignore current post, Ignore
sticky posts, and Same author only.
Click Apply Query to commit.
Defaults, and archives
Leave the query untouched and the loop falls back to eight posts per page.
Inside an archive template, an untouched loop is special: it renders that archive's own
results rather than a query of its own. That is what lets one archive template serve
every category — the loop inherits whatever WordPress already resolved for the request.
Give the loop a custom query and you override that inheritance.
Layout and Design
Use the Design tab to set the loop's layout and appearance. See Post Loop Builder layout and design controls.
Pagination
Use Content → Pagination to add numbered links, previous/next links, a Load More button, or infinite scroll. See Pagination.
Alternate Items and Empty Results
The Advanced popout under Repeated Block provides alternate and static items and an empty state.
Filter Bar
Content → Filter Bar adds front-end filter buttons built from a taxonomy.
- Enable turns it on.
- Type picks the taxonomy the buttons are built from.
- All Filter adds a show-everything button, with a custom All Label.
- Sort By orders the buttons: Name A–Z, Name Z–A, Term Order, or Count.
- Hide Uncategorized drops that term from the list.
Filtering happens in the browser — the loop renders every matching post and the filter
shows and hides them, so it is instant but not a substitute for a query on a large
archive.
Enabling the Filter Bar hides the Pagination section: a loop uses one or the other, not
both.
Related and Custom-Field Queries
Related selects posts through shared taxonomies under Include by; Same author only narrows that set. ACF Relationship reads posts selected in a relationship field. These sources discard the pagination page number; the Conditions section filters the Post Types source only.
Use Custom Query for the complete source, meta-query, order, and date controls; Text Query for fixed query arguments; or Array Query for PHP-generated arguments.
WP Grid Builder integration controls appear when that integration is available.
Troubleshooting
Pagination with Custom Queries in Archives isn't supported
Pagination does not work with a custom query inside an archive template. If the builder shows this error, either leave the loop's query unset to paginate the archive's results, or use a custom query without pagination.