Oxygen Builder integrates seamlessly with Advanced Custom Fields (ACF), allowing designers to display custom field data anywhere on the website. This integration is one of Oxygen’s most powerful features, as it enables the creation of highly dynamic websites without custom coding. However, a common frustration among Oxygen users is that ACF data appears correctly in the Oxygen editor preview but completely fails to display on the live frontend, showing empty spaces or default placeholder text instead of the actual content.
This problem can be particularly frustrating because the editor preview proves that the connection between Oxygen and ACF is configured correctly. The field name is spelled correctly, the field exists in ACF, and the content is stored in the database. Yet when visitors load the page, the dynamic data is nowhere to be seen. The result is a website that looks complete and professional in the builder but appears broken and incomplete to actual visitors.
The most common cause of this problem is that the ACF field name has been misspelled or has changed since the Oxygen dynamic data was configured. Field names are case-sensitive, so “Product_Price” and “product_price” are treated as completely different fields. Another cause is that the ACF field is not returning the correct format for the Oxygen element, such as trying to display an image field as plain text or a relationship field as a simple string.
Why Oxygen Builder ACF dynamic data fails on the frontend
Oxygen Builder uses the ACF API to fetch custom field data from the WordPress database when rendering pages. The API call requires the exact field name and the correct object ID (post ID, term ID, user ID, etc.) to retrieve the data. If the field name does not match exactly, ACF returns nothing, and Oxygen displays nothing. If the object ID is incorrect, ACF returns data from the wrong object, or nothing at all. The editor preview often uses different object ID logic than the frontend, which explains why data appears in the editor but not on the live page.
Another common issue is that the ACF field is configured to return a value in a format that Oxygen cannot display correctly. For example, an ACF image field can return the image ID, the image URL, or the full image HTML array. Oxygen expects different formats for different elements, and selecting the wrong return format will result in no output. Similarly, ACF relationship fields return arrays of objects, which need to be looped through using Oxygen’s query loop element rather than being displayed as simple text.
Caching plugins can also cause ACF dynamic data to disappear from the frontend. When a page is cached, the dynamic data is stored as HTML, not as a reference to the ACF field. If the ACF data is updated after the page was cached, visitors will see the old cached data or empty spaces because the cache does not know to refresh itself. Excluding pages with dynamic ACF data from caching is essential for keeping content up to date.
How to check if the ACF field name is correct
Go to the ACF field group settings and find the field that is supposed to display on the frontend. Copy the exact field name, including the exact capitalization and any underscores or hyphens. Then, edit the Oxygen Builder element that is configured to display this field and paste the field name into the dynamic data settings, replacing whatever was there before. Save the page and test the frontend again. Often, a simple typo correction is all that is needed to restore the dynamic data.
Step by step guide to fixing Oxygen Builder ACF dynamic data problems
Follow these steps in order to restore ACF dynamic data on the Oxygen Builder frontend. Start with the simplest solutions before moving to more advanced troubleshooting steps.
- Verify that the ACF field name in Oxygen matches exactly (case-sensitive) with the field name in ACF
- Check that the ACF field actually contains data for the current post or term being viewed
- Ensure that the ACF field group is assigned to the correct post type or taxonomy
- Clear all caches including plugin cache, CDN cache, and browser cache completely
- Exclude pages with dynamic ACF data from caching plugins to prevent stale content
- Check the ACF field return format and ensure it matches what the Oxygen element expects
- Test the dynamic data on a default WordPress theme to rule out theme conflicts
- Update Oxygen Builder and ACF to the latest versions available
- Use the Oxygen dynamic data preview to test different field return formats
- Contact Oxygen Builder support with specific details about which ACF fields are failing
How to exclude dynamic pages from caching in popular cache plugins
In WP Rocket, navigate to Settings → WP Rocket → Advanced → Never Cache URLs and add the URLs of pages that contain dynamic ACF data. In LiteSpeed Cache, go to Cache → Excludes → Do Not Cache URIs and add the same page paths. In W3 Total Cache, go to Performance → Page Cache → Advanced → Never cache the following pages and add the URL patterns. After adding these exclusions, clear all caches and test the dynamic data again.
Oxygen Builder ACF dynamic data troubleshooting reference table
Here is a reference table for diagnosing ACF dynamic data problems in Oxygen Builder based on specific symptoms you might encounter.
| Symptom | Most likely cause | Recommended solution |
|---|---|---|
| Data works in editor but not on frontend | Caching or field name mismatch | Clear caches and verify exact field name spelling |
| Some ACF fields display but others do not | Return format mismatch or field type not supported | Check ACF field return format and change to a supported type |
| Image field shows ID number instead of image | Return format set to Image ID instead of Image URL or Image Array | Change ACF image field return format to Image URL or Image Array |
| Relationship field shows nothing or “Array” text | Relationship field needs query loop to display correctly | Use Oxygen query loop element with ACF relationship source |
For more information about Oxygen Builder ACF integration, visit the Oxygen Builder page on wpwizzy.com.
Preventing Oxygen Builder ACF dynamic data problems in the future
Always verify that ACF field names are spelled correctly and consistently across all Oxygen elements, and document the field names for future reference. Set up ACF field return formats before creating Oxygen dynamic data connections, and test dynamic data on a staging website before deploying to the live production site. Clear all caches immediately after making changes to ACF fields or Oxygen dynamic data connections to ensure the latest content appears on the frontend.
Exclude pages with dynamic ACF data from caching plugins as soon as those pages are created, and consider using a JavaScript-based approach for highly dynamic content that changes frequently. Keep Oxygen Builder and ACF updated to their latest versions on a regular schedule, and regularly test ACF dynamic data on the frontend after plugin or theme updates to catch problems early. Use Oxygen’s built-in dynamic data preview feature to test different field return formats before committing to one.