Page Builders: Elementor, Bricks and Divi
Page builders and ajax navigation both want control of the DOM, script execution and click handling. Mostly they coexist. This page covers the places they do not.
Universal rule
Anything that must survive navigation belongs in a global template, not on a page. Page content is exactly what gets replaced. A player, sticky bar or chat widget placed on a page will disappear on the first click. Use the builder’s footer or header template instead.
Elementor
Persistent player
- Templates → Theme Builder → Footer, edit your footer.
- Add the audio widget, or an HTML widget containing your player.
- Select it → Advanced → CSS ID →
my-radio-player. - Settings → AjaxPress → Advanced → Media Players →
#my-radio-player. - Give the player self-contained positioning — Elementor styles widgets through their parent section, and those styles stop applying once the player is lifted.
Known issue: Elementor Pro Forms
On pages with an Elementor Pro Form widget, submission can complete only partway. The entry saves (Collect Submissions runs) but “Actions After Submit” such as the Email action may not fire, and submit_success is never dispatched. It is a race condition — intermittent, more likely under server load.
Cause: AjaxPress listens for form submissions to route them over ajax, which can run in parallel with Elementor Pro’s own handler.
Workaround: add the form’s page to Advanced → Exclude Links. Note the trade-off — excluded pages do not fire ajaxpress:ready, so a player on that page will not start either.
Standard Elementor forms, Contact Form 7, WPForms and Fluent Forms have not shown this behaviour.
Bricks Builder
Front end works. Edit screens have an open issue: with SPA for Admin Dashboard enabled, Bricks edit screens have been reported failing to render.
Fix: Settings → AjaxPress → Basic → turn SPA for Admin Dashboard off. That setting only affects wp-admin; visitors see no difference.
On WordPress 7.0 and newer, leave it off regardless — WordPress now handles dashboard navigation itself.
For a persistent player: build a global footer template, give the player element a CSS ID, use that as your selector.
Divi and Divi 5
Divi 5 Builder has been reported as not working correctly, again around the builder rather than the front end. Turn SPA for Admin Dashboard off first.
If problems persist with Divi 5 specifically, email us with your Divi version — Divi 5 is a significant rewrite and our coverage is incomplete.
Front end: use the Divi Theme Builder for a global footer, and set a CSS ID under Advanced → CSS ID & Classes.
Troubleshooting
| Symptom | Try first |
|---|---|
| Builder edit screen will not load | Turn off SPA for Admin Dashboard |
| Player disappears on navigation | Move it into a global footer template |
| Player moves to the wrong place | Give it its own position: fixed CSS |
| Widget animations run once only | Re-initialise on ajaxpress:ready |
| Elementor Pro form emails not sending | Known issue — exclude that page |
| Styles missing after navigation | Check for styles scoped to a parent the element no longer has |
When reporting a builder issue, include the builder and version, your theme, and whether SPA for Admin Dashboard is enabled. Builder behaviour is very version-specific.