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

Dynamic Data Overview

Dynamic data binds a control's value to data from the WordPress database. Bind
a Text element to Post Title and it shows each post's own title; bind an Image to
Featured Image and every post shows its own. This is what makes a
template reusable — one layout, filled with each item's data
at render time.

Binding a control to a field

Controls that accept dynamic data show a database icon next to their
label. Click it to open the Insert Dynamic Data dialog, find the field, and click it —
the control then shows the field as a token, and the canvas immediately renders real
content. Click the ✕ on a token to remove the binding.

The Insert Dynamic Data dialog
The Insert Dynamic Data dialog

The dialog only offers fields the control can use — a text control lists fields returning a
string, an image control lists images. Everything you can bind to, and what each field
returns, is in the Fields Reference.

A bound field isn't just a value: click its token and you can prepend or append text, trim
it, or give it a fallback for when it's empty. See
Field Options.

Dynamic data and templates

Dynamic data comes into its own in a template: apply one to a
whole post type, bind its elements to that type's fields, and every item renders through
the same layout with its own data. See
Single Templates.

A template has no content of its own, so the Preview post picker in the toolbar chooses
which real item the canvas resolves bindings against — switch it and the whole layout
refills, which is the fastest way to catch a design that only works for your shortest
title. Archive and search templates preview a query instead of one item. It changes only
what you see while designing, never what the template applies to.

The Preview post picker open in the builder toolbar, with a real post selected and the canvas filled with its data

Loops

A binding shows one item's data. To show many — the latest posts, a category's products,
the rows of a repeater field — you need a loop, which repeats a design once per result and
resolves the bindings inside it against each one.

Loop Repeats over
Post Loop Builder Posts, pages, or any custom post type
Term Loop Builder Terms of a taxonomy — categories, tags, custom taxonomies
Repeater Field The rows of an ACF Repeater or Meta Box cloneable group
A loop on the canvas repeating one card design once per post, each filled with that post's own title and image

See Loops for how all three are built.

Conditions

Dynamic data isn't only for filling a control — it's also available as a condition, so
what renders can depend on the data rather than just displaying it. Show a section only
when a custom field has a value, or apply a template only to posts whose field matches.