TechEarl

Using ACF with Elementor Dynamic Fields

Elementor Pro's Dynamic Tags integration with ACF is the mature reference for binding custom field values to widget properties. Coverage for every field type, including Repeater via the Loop widget, and the Theme Builder integration for archive templates.

Ishan Karunaratne⏱️ 8 min readUpdated
Share thisCopied
Elementor Pro's ACF Dynamic Tags. Every field type, Loop widget for Repeater, Theme Builder integration for archives. The mature reference.

Elementor Pro's Dynamic Tags integration with ACF is the most mature reference implementation of "page builder bound to custom fields" in the WordPress ecosystem. Every ACF field type has a corresponding Dynamic Tag. The Loop widget (Elementor Pro) handles Repeater rendering visually. Theme Builder uses ACF values for archive templates. Here is the canonical reference for what works, what does not, and where the integration shines compared to alternatives.

Jump to:

The setup: Elementor Pro plus ACF Pro

The integration requires both Elementor Pro (free Elementor does not include Dynamic Tags) and ACF Pro (free ACF does not include Repeater or Flexible Content, both of which the integration leverages). No additional plugin needed for the integration itself; Elementor Pro detects ACF Pro automatically and exposes the relevant Dynamic Tags.

Once both are active, the Dynamic Tags icon (the database stack) appears on most Elementor widget properties.

Binding ACF fields via Dynamic Tags

On any compatible widget property, click the Dynamic Tags icon, find the "ACF" group in the dropdown, pick the Dynamic Tag for the field type you need:

  • ACF Field: generic, works for Text/Textarea/WYSIWYG/Email/URL/Number.
  • ACF Image Field: for binding to Image widgets or section backgrounds.
  • ACF Gallery Field: for binding to Gallery widgets.
  • ACF Date: formatted per the widget's date format setting.
  • ACF Color: binds to color picker properties.
  • ACF File: for download links.
  • ACF Boolean: for True/False fields used in conditional display.

After picking the Dynamic Tag, configure it: select the field name, optionally specify a fallback value, optionally pick a different post to read from (for cross-post field access).

The bound widget shows the field's current value in the editor preview and re-renders on every post that uses the template.

Field-type coverage

ACF Field TypeElementor Coverage
Text / Textarea / WYSIWYGFull (ACF Field tag)
NumberFull
Email / URLFull
ImageFull (ACF Image Field tag)
GalleryFull (ACF Gallery Field tag)
FileFull
Select / RadioFull
CheckboxFull (returns array; works with comma-joined render or in Loop)
True/FalseFull (best used with conditional display)
Date / TimeFull with format settings
Color PickerFull
Post ObjectFull (returns linked post; useful for "related post" links)
RelationshipLoop widget (renders each related post)
TaxonomyFull
UserFull
oEmbedFull
Google MapFull (ACF Map tag)
RepeaterLoop widget (Elementor Pro 3.8+)
Flexible ContentLimited; usually needs custom code
GroupSub-field access via dot notation in some places
CloneInherits the cloned field's behavior
Page LinkFull

Elementor Pro's ACF coverage is more thorough than any other page builder's I have worked with. The Repeater integration via the Loop widget is the standout feature.

Repeater rendering with the Loop widget

The Loop widget (Elementor Pro 3.8+) renders one template per row of a Repeater (or per post in a query, or per term in a taxonomy). For ACF Repeater specifically:

  1. On the page, add a Loop widget.
  2. Set the source to "ACF Repeater."
  3. Pick the Repeater field name.
  4. Click "Edit Template" to design the per-row layout in the visual builder.
  5. Inside the template, bind sub-fields via Dynamic Tags (the ACF group now exposes the Repeater's sub-fields).

The result is a visually-designed Repeater render with no template code. For agencies that ship many sites with Repeater patterns, this is a significant time saver.

The trade-off: the Loop widget's templates are stored in Elementor's database structure rather than as PHP files. Version control is harder; the templates do not travel with the theme.

For projects where the Loop widget's flexibility is the point (editor needs to redesign the Repeater rendering frequently), this is fine. For agency builds where you want the template in code, the ACF + custom template path is still cleaner. See A Cleaner Way to Render ACF Flexible Content Layouts Using Template Parts for the code-first version.

Flexible Content limitations

Flexible Content support in Elementor is incomplete. There is no native "Loop widget for Flexible Content" that switches templates per layout.

The workarounds:

  • Use the Theme Builder with multiple templates and conditional logic to pick which template renders. Heavyweight but works.
  • Custom shortcode that walks the Flexible Content and renders the right markup, then dropped into a Shortcode widget. Same pattern as the Using ACF with Divi escape hatch.
  • Avoid Flexible Content in Elementor-driven sites. Use Elementor's own section/column structure for the page builder, and use ACF only for individual field bindings.

The third option is the most common in practice. Elementor IS a page builder; if you have Elementor, you usually do not need Flexible Content for the same job.

Theme Builder integration for archive templates

Elementor Pro's Theme Builder lets you visually design archive templates (category archives, custom post type archives, search results) with ACF values bound to widget properties for each post in the loop.

The pattern:

  1. Theme Builder > Add New > Archive (or Single).
  2. Set the conditions (e.g., "Archive: Posts in Category 'News'").
  3. Design the layout with widgets bound to ACF fields and post fields via Dynamic Tags.

This is the right pattern for sites where archives need rich custom design driven by ACF data. Especially useful for directory sites where each listing in an archive renders with ACF data (location, rating, hours).

Caveat: archive page performance with many ACF Dynamic Tag bindings can be slower than a hand-coded archive template. The trade-off is dev time vs runtime performance.

Conditional display based on ACF values

Elementor's Display Conditions (per-widget setting) include ACF field comparisons:

  • "Show this widget if ACF field is_featured equals true."
  • "Show this widget if ACF field tier equals 'pro' or 'enterprise'."

Useful for editor-driven variations without custom code. The condition runs on render; the widget either appears or does not.

For more complex conditional logic, custom widgets that read ACF directly are the alternative.

When this combination is the right pick

Elementor + ACF is the right pick when:

  • The agency standardizes on Elementor for visual building.
  • The site needs ACF for structured content modeling (custom post types with many fields).
  • The editor team prefers Elementor's UI over alternatives.
  • Theme Builder is needed for custom archive templates.
  • The Loop widget covers your Repeater rendering needs.

It is the wrong pick when:

  • The site is custom-development-first (use ACF + custom templates).
  • The page is dominated by Flexible Content with many layouts (Elementor handles this poorly).
  • Performance is a hard constraint (custom templates beat any page builder).
  • The team is already on Divi or another builder.

For the broader page-builder vs custom-template decision, see Custom WordPress Themes vs Page Builders and Divi vs Elementor for Agency Workflows. For the Divi-side equivalent of this article, see Using ACF with Divi for Dynamic Content.

Sources

Authoritative references this article was fact-checked against.

TagsWordPressACFElementorPage Builders

Found this useful? Pass it on.

Copied

Ishan Karunaratne

Tech Architect · Software Engineer · AI/DevOps

Tech architect and software engineer with 20+ years building software, Linux systems, and DevOps infrastructure, and lately working AI into the stack. Currently Chief Technology Officer at a healthcare tech startup, which is where most of these field notes come from.

Keep reading

Related posts

Using ACF with Divi for Dynamic Content

Divi's Dynamic Content lets editors bind ACF field values to module properties without leaving the visual builder. The setup, the patterns that work for Text and Image fields, the limits for Repeater and Flexible Content, and the custom-shortcode escape hatch.

Sending Gravity Forms Data Into ACF Repeater Fields

Gravity Forms does not natively submit Repeater-shaped data, but three patterns handle the common cases: append-per-submission, single submission with grouped sections, and a custom JSON-encoded field. Here is each with code.