Skip to content

Jetengine

JetEngine __dynamic__ ACF overrides win over Elementor static values — never bulk-strip without an Elementor-placeholder deny-list

From legacy section: SEO NEO / Workbook

Elementor heading/text/video widgets often carry both a static settings.title/youtube_url AND a settings.__dynamic__.<field> override pointing at an ACF/JetEngine field via an [elementor-tag] shortcode. At render time, if the ACF field is populated, the dynamic value wins. If empty, Elementor falls back to the static value. Updating the static field while __dynamic__ is present accomplishes nothing visually. Removing __dynamic__ flips the widget to static — but is dangerous if the static is an Elementor placeholder like "Add Your Heading Text Here" / "Click here" / "Lorem ipsum…", which are non-empty strings that pass naïve is_meaningful_static() checks but render as garbage. Why: Diagnosed on joetemplin.com 2026-05-11. Module 1's lesson cards showed correct YouTube videos but lesson title "The $250 Introduction" — even though _elementor_data had the static title "The TEAM Framework: 4 Steps to Run Your Introduction Machine". Root cause: heading widget's __dynamic__.title pointed at lesson_title_1 ACF field, which still had old Julius template placeholder "The $250 Introduction". Also: when I sweep-removed __dynamic__ across 240 pages with a "static value is non-empty → preserve static" heuristic, the header/footer template's heading widgets (which had ACF-driven titles + Elementor default placeholder text as static) flipped to showing "Add Your Heading Text Here" sitewide. How to apply: 1. Two parallel sources of truth pattern — when a JetEngine page shows wrong content but you've verified _elementor_data, dump wp_postmeta for the same post ID. Fields like lesson_title_N, lesson_desciption_N (typos preserved), video_N, highlight_title_N drive the visible widgets via __dynamic__ tags. 2. Two fix paths: (a) update the ACF post_meta fields (cleanest — preserves design system, change propagates everywhere ACF is referenced); (b) strip __dynamic__.<field> AND set static to the correct value (only when ACF approach won't work, e.g., the field is unset or shared across pages where you can't risk side effects). 3. Bulk __dynamic__ removal needs an Elementor-placeholder deny-list — at minimum: "Add Your Heading Text Here", "Click here", "Lorem ipsum dolor sit amet", "Type your text here", common default button text. A static value matching any of those should be treated as "not meaningful" — leave __dynamic__ intact. 4. Hero/footer/header templates are highest risk — they're inherited across many pages and often carry ACF-driven content with placeholder static fallbacks. Always exclude template-type posts (Header Template, Elementor Footer, Hero Banner etc.) from bulk sweeps unless explicitly auditing them. 5. Triggers: any bulk-modify operation on _elementor_data across multiple posts; any "the page renders X but my data says Y" debugging; any rebuild of pages cloned from an ACF-integrated template. Date: 2026-05-11