Inline field tags
Use inline field tags when you want a short custom-field value inside plain module text without opening Insert Dynamic Content on every text node. Tags are a lightweight shortcut. Prefer Insert Dynamic Content (and Machine modules such as Custom Field Item) for maps, media, dates, and structured layouts—see Native modules and dynamic content.
Enable inline tags
- Go to Divi Engine → Divi Machine → Settings → General.
- Under Divi 5 inline tags, turn on Enable inline dynamic field tags.
- Save settings.
When the option is off, visitors see the raw {dm:…} text (if present). Leave it off only when you intentionally need to display the tag string.
Tag syntax
Tags are case-sensitive and must stay inside braces with no spaces. Grammar:
{prefix:field_name[:object:id][:fallback:text]}
- Field name: letters, digits,
_,., or- - If you use both an object scope and a fallback, put the object segment before the fallback
- Resolved values are not scanned again for nested tags
Provider prefixes
| Tag | Meaning |
|---|---|
{dm:field_name} | Active custom field provider (auto) |
{dm_acf:field_name} | Force Advanced Custom Fields |
{dm_scf:field_name} | Force Secure Custom Fields |
{dm_pods:field_name} | Force Pods |
{dm_mb:field_name} | Force Meta Box |
{dm_ts:field_name} | Force Toolset Types |
{dm_acpt:field_name} | Force ACPT |
Use an explicit prefix when more than one field stack is active and auto-resolution is ambiguous. See Custom fields and providers.
Object scope and fallbacks
| Tag | Meaning |
|---|---|
{dm:price} | Field on the current context post |
{dm:price:post:123} | Field on post ID 123 |
{dm:bio:user:1} | Field on user ID 1 |
{dm:label:term:5} | Field on term ID 5 |
{dm:price:fallback:N/A} | Show N/A when the field is empty |
{dm:price:post:123:fallback:N/A} | Scoped post plus fallback |
Where tags resolve
When enabled, Machine replaces tags on the front end in layout content (including Divi-rendered layouts). Default post context order:
- Current Archive Loop / loop card post (when present)
- Main query post
- Singular queried object
get_the_ID()/ global$post
Inside custom loop layouts and Archive Loop cards, tags therefore read the card’s post, not the Theme Builder layout post.
When to use tags vs other tools
| Need | Prefer |
|---|---|
| Short text in a Text / Blurb / button label | Inline {dm:…} tags |
| One typed field with label, icon, visibility | Custom Field Item |
| Map, gallery, countdown, video, counters | Insert Dynamic Content on the native module |
| Repeater rows, tables, tabs | Repeater + Custom Field Item |
Debug logging
If a tag does not replace as expected:
- Confirm Enable inline dynamic field tags is on.
- Confirm the field key matches your provider and that the post/user/term has a saved value.
- Temporarily add to
wp-config.php:
define( 'DMACH_DEBUG_INLINE_VARIABLES', true );
- Load the front end once and check
wp-content/debug.logfor lines starting with[DMACH inline]. - Remove or set the constant to
falseafter you finish debugging.
Pitfalls and limits
- Tags only run on the front end (not in admin or REST responses).
- Wrong field keys print empty (or your fallback)—they do not throw visible builder errors.
- Do not put complex HTML structures inside a single tag; keep tags for simple scalar values.
- Nested tags inside a resolved value are ignored.
What's Next
- Native modules and dynamic content — Maps, sliders, counters, and Insert Dynamic Content
- Custom Field Item — Type-aware field display in loops and templates
- Custom fields and providers — Supported field stacks
- Divi Machine Settings — General and search options