4.1Dynamic content & custom fields (ACF)
The essentials in 30 seconds
- Custom fields (e.g. via ACF) add structured data to a content item (price, material, lead time…).
- Dynamic content displays these fields in a template, filled by each item.
- Advantage: you enter data, the layout stays the same — consistency and speed.
Through-line — Nadia structures the projects
The joiner wants to present each project with precise info: wood type, lead time, dimensions. Rather than writing this info "by hand" on each page, Nadia creates custom fields (wood, lead time, dimensions) and displays them via dynamic content in a template: each project fills its fields, the display is uniform.
Start of level 4 — structured data rather than free text.
1. Custom fields
Custom fields (created with an extension like ACF — Advanced Custom Fields) add structured data to a content type: for a joinery project, a "wood" field, a "lead time" field, a "dimensions" field. Instead of free text, you fill dedicated fields, consistent from one item to another.
Nadia defines these fields once; each project card fills them with its own values.
2. Displaying via dynamic content
In a template (Theme Builder), you insert these fields via dynamic content: "display the Wood field", "display the Lead time field". The template then displays automatically the values of each project. You enter data, the layout doesn't change.
Result: a uniform and rich display, easy to maintain. Adding a project = filling fields, not redoing a page.
🔎 Concrete example — Structured project cards (Nadia's case)
Fields (ACF): wood (dropdown), lead time (number), dimensions (text).
Template: [Image] [Title] [Dynamic wood] [Dynamic lead time] [Dimensions].
→ Each project fills its fields.
→ Identical, rich display, easy to maintain and filter.
Result: a uniform and rich display.
Lesson: enter data, don't redo pages.
Section vocabulary
- Custom fields (ACF)
- Structured data added to a content item (via an extension like ACF).
Simple example: "wood", "lead time", "dimensions" fields of a project.
What it is not: writing this info as free text on each page.
Reflex: repeated, structured data → custom field.
- Dynamic content
- Display a field's value (title, image, custom field…) in a template.
Simple example: "display the Wood field" in the card.
What it is not: recopying the value by hand.
Reflex: in a template, display the field, not the text.
- Structured data
- Information arranged in dedicated fields, consistent and reusable.
Simple example: all projects have a "lead time" field.
What it is not: info scattered in varied formats.
Reflex: structure to display, sort and filter.
- Display uniformity
- One template displays all cards identically.
Simple example: each project has the same layout.
What it is not: a different layout per card.
Reflex: one template for all cards of a type.
- Entering ≠ laying out
- You fill fields; the layout stays handled by the template.
Simple example: adding a card = filling fields.
What it is not: redoing the layout on each card.
Reflex: content in the fields, form in the template.
In practice — Displaying structured data
- Define custom fields for a content type (e.g. project: wood, lead time).
- Create a template and insert these fields via dynamic content.
- Fill a card with its values.
- Check that the display is uniform and correct.
Ready-to-say script — explaining structured cards (20 s)
"Each project will have a card with the same neatly arranged information: wood type, lead time, dimensions. You simply fill in these fields, and the card formats itself automatically, always the same way. It's crisp, consistent, and easy to update."
Sell the uniformity and the simplicity of entry.
Copy-paste template — fields plan
CONTENT TYPE: _______________
CUSTOM FIELDS: ___________ (___), ___________ (___), ___________ (___)
TEMPLATE: display [field] [field] [field] via dynamic content
TEST CARD FILLED + CHECKED: yes / no
Projects
wood/lead time/dimensions fields for homogeneous cards.
Services
price/duration fields to compare easily.
Filtering
Structured fields allow sorting/filtering (see 4.2).
Maintenance
Adding a card = filling fields, not redoing a page.
✓ Best practices
- Structure as fields whatever repeats.
- Display the fields via dynamic content.
- Keep a single template per card type.
✗ Common pitfalls
- Writing the data as unstructured free text.
- Recopying values by hand in the template.
- Multiplying layouts per card.
Key takeaways
- Custom fields (ACF) = structured data.
- Dynamic content = display these fields.
- One template → uniform display of all cards.
- You enter data, not layout.
48h challenge — apply tomorrow
Create 2-3 custom fields for a content type, display them in a template via dynamic content, and fill a test card. Check the uniformity. 30 minutes.
- I create structured custom fields.
- I display them via dynamic content.
- I get a uniform display.
Frequently asked questions
What is ACF?
Advanced Custom Fields: a popular extension for adding custom fields (structured data) to your content, then displayed via Elementor's dynamic content.
Why structure as fields rather than free text?
For consistency (same rendering everywhere), maintenance (you fill fields) and the ability to sort/filter this data (grids, see 4.2).
Does the layout change from one card to another?
No: the template handles the form, identical for all cards. You only fill the fields, which guarantees uniformity.
The joiner wants homogeneous project cards (wood, lead time, dimensions). Which approach to choose?