DYNAMIC TEXT WIDGET

The Dynamic Text widget mirrors Elementor's Text Editor control but injects macro support so you can mix static copy with unlimited dynamic tokens. Drop it anywhere text is expected, point it at JetEngine, ACF, or user meta, and every macro resolves before Elementor renders the block.


USAGE & SCOPE


Settings Icon

CONTENT CONTROLS

Tell the widget which record to read and compose your macro-rich copy.

  • Query Source: Switch between listing item, current post, or logged-in user to match the template context.
  • Text Editor: Supports plain text, inline HTML, and Elementor dynamic tags. Use macros anywhere inside this field.
  • Empty Output Handling: Choose whether the widget should hide if every macro resolves to an empty value.

Macro Icon

MACRO SYNTAX

Every macro follows the same structure and can be chained indefinitely inside the editor.

  • meta_key: The JetEngine/ACF/user meta ID. Required.
  • format (optional): Tells the widget how to process the value. Skip it to output the raw data.
  • fallback (optional): Text to display when the meta is empty. Without a fallback the macro simply disappears.
  • Whitespace: Spaces around the pipe are optional; use whichever style improves readability.

Important: If you skip the format, the next parameter is treated as the fallback. Checkbox and multiple select macros are the exception because their second parameter is always the delimiter.

Examples:

  • → formats a timestamp as 2025.04.11, otherwise prints "Date is not set".
  • → renders two decimals, , thousands separator, and shows "N/A" when empty.
  • → joins array values with a slash or outputs the fallback.

Format Icon

FORMATTING OPTIONS

Apply date, number, or delimiter logic without leaving the widget.

Date values

Pass a PHP date() pattern to format Unix timestamps: . When the timestamp is empty the fallback is rendered; without a fallback nothing prints.

Numbers

Use the number formatter to control decimals and separators: renders two decimals, . decimal separator, and , thousands. Signature: number[:decimals[:decimal_sep[:thousand_sep]]]. Example without extra params: .

Checkbox & multiple select

No formatter is needed because the second parameter acts as the delimiter: . The widget joins array values with / and uses the fallback when the array is empty.

Plain text

Skip the formatter when you just need the stored string: .


STEP-BY-STEP SETUP

  1. Pick the source. Set Query Source to Current Post, Listing Grid, or Current User so macros pull from the right object.
  2. Compose your copy. Write the surrounding text first, then sprinkle macros wherever dynamic data should appear.
  3. Apply formatting. Add date or number formats, choose delimiters for checkbox arrays, and define fallbacks for empty values.
  4. Preview the template. Check a few records to confirm each macro resolves correctly and empty fields stay hidden.
  5. Style as needed. Use Elementor’s typography, spacing, and link controls to match the surrounding design.

TIPS & EDGE CASES