Why ACF Fields Don't Show Up in Elementor
Elementor pulls available ACF fields dynamically based on the context of what you're editing. If the field group isn't assigned to the right location, Elementor simply won't see it — even if the field exists in your database. There are several distinct causes:
Fix 1 — Check Your Field Group Location Rules
This is the most common cause. Open the ACF field group causing the issue and check the Location Rules section at the bottom.
Your location rule must match what you're editing in Elementor. For example:
- If you're editing a Page in Elementor, the location rule should be
Post Type → is equal to → Page - If you're editing a custom post type, the rule must match that specific post type
- Rules like "Post Category" or "Page Template" only show fields on specific posts — they won't appear when editing other posts of the same type
A common mistake is setting the location to a specific page (e.g., "Page → is equal to → About") instead of the post type. Elementor needs the field group available to the entire post type to surface it in the dynamic tag picker.
Fix 2 — Confirm Field Type Compatibility
Not all ACF field types are available as Elementor dynamic tags. Elementor maps ACF fields to its own dynamic content system, and only supported field types appear in the picker. Supported types include:
- Text, Textarea, Number, Email, URL
- Image (returns the image URL or ID)
- Date Picker, Date Time Picker
- Select, Radio Button, Checkbox (returns stored value)
- True/False
- Relationship (partially — returns post IDs)
Field types like Repeater, Flexible Content, Gallery, and Clone do not appear natively in Elementor's dynamic tag picker. For those, you need a custom dynamic tag or a workaround using a Text field to display computed output.
Fix 3 — Sync ACF JSON If Using Field Groups from Code
If your field groups are registered via PHP code or loaded from ACF JSON files, they may not appear in Elementor unless the JSON is in sync. Go to Custom Fields → Tools → Sync and sync any field groups showing a sync status. After syncing, check Elementor's dynamic tag picker again.
Fix 4 — Clear Elementor's Cache
Elementor caches available dynamic fields. If you recently created a new ACF field group or modified location rules, Elementor may not have picked up the change yet. Go to Elementor → Tools → Regenerate Files & Data and click the regenerate button. Then reload your page editor.
Fix 5 — Check That ACF Pro Is Active
Dynamic tags in Elementor require ACF Pro — the free version of ACF does not expose fields to Elementor's dynamic tag system. If you're on ACF Free, upgrade to Pro or use a third-party bridge plugin.
Also verify your ACF Pro license is active and the plugin is fully up to date. An expired license won't deactivate the plugin, but some Pro features may stop working.
Fix 6 — Check for Plugin Conflicts
Third-party ACF add-ons or plugins that modify field registration can interfere with how Elementor reads available fields. If you've recently installed a new plugin related to ACF, try deactivating it and testing the dynamic tag picker again.
Fix 7 — Verify You're in the Right Editing Context
Elementor's dynamic tag picker is context-sensitive. If you're editing a global template (header, footer, or section template), it may not show post-specific ACF fields because the template isn't assigned to a specific post type context. Try editing a specific post or page directly instead of through a global template to confirm the fields appear there first.
When Nothing Works — Debug Directly
If you've checked all of the above and ACF fields still won't appear in Elementor's dynamic tags, add the following to your theme's functions.php or a site-specific plugin to confirm ACF is registering fields for your post type:
add_action( 'wp_footer', function() {
if ( current_user_can('administrator') ) {
$groups = acf_get_field_groups( array( 'post_type' => 'your-post-type' ) );
echo '<pre>' . print_r( $groups, true ) . '</pre>';
}
} );
Replace your-post-type with your actual post type slug. If this returns empty, ACF isn't registering the field group for that context — the location rules are the problem. If it returns the field group, the issue is on the Elementor side.
Building complex ACF + Elementor setups on unreliable hosting causes extra conflicts. CriticalWP's managed platform keeps your stack stable so you're debugging ACF logic — not server problems.