Hi
I’m working on a custom Divi module named EP Dog Search (AJAX-based search module) for Divi 4, with plans to support Divi 5 as well. However, I’m encountering an issue where:
• In the Visual Builder (backend), instead of a module UI preview, I see a grey area with just ep_dog_search.
• In the front end, instead of the module HTML, the page outputs the shortcode text:
[ep_dog_search placeholder="Hunde Schnellsuche" _builder_version="4.27.4" _module_preset="default" global_colors_info="…"][/ep_dog_search]
So in effect, Divi treats my module as a shortcode, not as a proper Divi module, so my render() method is never used, and my JS never sees the form (hence console error EP Dog Search Form not found in DOM).
My environment & versions
Component
Version / Details
Divi Version 4.27.4
WordPress Version 6.8.2
PHP Version 8.1
Module / Plugin Version EP Dog Search v2.x
Active Plugins WooCommerce, ElasticPress, FacetWP …
Caching Divi Static CSS, (WP Rocket and Redit deactivted)
What I have already tried
• I set public $slug to et_pb_ep_dog_search (with et_pb_ prefix)
• I set public $vb_support = 'on';
• In render() I always return HTML (even for admin / builder view) with placeholder layout
• I cleared browser cache, WordPress cache, and turned off Divi’s static CSS (re-regenerated)
• I inserted error_log() in render() to test if it’s being executed; no logs are written
• I confirmed the module appears in Divi’s module list
• I disabled caching / minification plugins to rule out conflicts
Yet, none of these have made the module render properly.
Key code / architecture
Here are relevant parts (will attach full files if needed):
• The modul class in class-ep-dog-search-module.php with slug, vb_support, render() logic
• The main plugin file where I hook ep_dog_search_initialize_extension() via add_action( 'et_builder_ready', … )
• The JS file (ep-dog-search.js) that looks for .pdr-ep-dog-search-form and binds AJAX
• CSS, etc.
In console, I see:
✅ EP Dog Search JS loaded
⚠️ EP Dog Search Form not found in DOM
So the JS is loaded but the DOM element is not present (because render() never ran).
What I expect / need
In Visual Builder (Divi 4 and Divi 5), the module should show a preview (search field + placeholder results) instead of a grey box or raw shortcode text.
• In front end, the module should render the search form and work normally (AJAX, results).
• Divi should call my render() method (or equivalent) rather than treating it as a shortcode fallback.
Questions / requests from your side
- Is the use of slug with et_pb_ absolutely required for Divi to parse the module properly (and prevent shortcode fallback)?
2.Are there any internal flags or registration steps required (e.g. “partial VB support”) to force Divi builder to use PHP render instead of React / shortcode fallback?
3.Could you point out sample code or examples in the ElegantThemes repo for modules that work in builder + frontend (Divi 4)?
4.Is there a minimal “HelloWorld” style extension I can reference to confirm my setup is correct?
5.Are there known conflicts with other plugins (e.g. ElasticPress) that cause Divi to revert to shortcode rendering?
I’d be glad to provide full plugin files or remote access if needed to help debug. Thank you for your support and guidance!
Hi
I’m working on a custom Divi module named EP Dog Search (AJAX-based search module) for Divi 4, with plans to support Divi 5 as well. However, I’m encountering an issue where:
• In the Visual Builder (backend), instead of a module UI preview, I see a grey area with just ep_dog_search.
• In the front end, instead of the module HTML, the page outputs the shortcode text:
[ep_dog_search placeholder="Hunde Schnellsuche" _builder_version="4.27.4" _module_preset="default" global_colors_info="…"][/ep_dog_search]So in effect, Divi treats my module as a shortcode, not as a proper Divi module, so my render() method is never used, and my JS never sees the form (hence console error EP Dog Search Form not found in DOM).
My environment & versions
Component
Version / Details
Divi Version 4.27.4
WordPress Version 6.8.2
PHP Version 8.1
Module / Plugin Version EP Dog Search v2.x
Active Plugins WooCommerce, ElasticPress, FacetWP …
Caching Divi Static CSS, (WP Rocket and Redit deactivted)
What I have already tried
• I set public $slug to et_pb_ep_dog_search (with et_pb_ prefix)
• I set public $vb_support = 'on';
• In render() I always return HTML (even for admin / builder view) with placeholder layout
• I cleared browser cache, WordPress cache, and turned off Divi’s static CSS (re-regenerated)
• I inserted error_log() in render() to test if it’s being executed; no logs are written
• I confirmed the module appears in Divi’s module list
• I disabled caching / minification plugins to rule out conflicts
Yet, none of these have made the module render properly.
Key code / architecture
⚠️ EP Dog Search Form not found in DOM
Here are relevant parts (will attach full files if needed):
• The modul class in class-ep-dog-search-module.php with slug, vb_support, render() logic
• The main plugin file where I hook ep_dog_search_initialize_extension() via add_action( 'et_builder_ready', … )
• The JS file (ep-dog-search.js) that looks for .pdr-ep-dog-search-form and binds AJAX
• CSS, etc.
In console, I see:
✅ EP Dog Search JS loaded
So the JS is loaded but the DOM element is not present (because render() never ran).
What I expect / need
In Visual Builder (Divi 4 and Divi 5), the module should show a preview (search field + placeholder results) instead of a grey box or raw shortcode text.
• In front end, the module should render the search form and work normally (AJAX, results).
• Divi should call my render() method (or equivalent) rather than treating it as a shortcode fallback.
Questions / requests from your side
2.Are there any internal flags or registration steps required (e.g. “partial VB support”) to force Divi builder to use PHP render instead of React / shortcode fallback?
3.Could you point out sample code or examples in the ElegantThemes repo for modules that work in builder + frontend (Divi 4)?
4.Is there a minimal “HelloWorld” style extension I can reference to confirm my setup is correct?
5.Are there known conflicts with other plugins (e.g. ElasticPress) that cause Divi to revert to shortcode rendering?
I’d be glad to provide full plugin files or remote access if needed to help debug. Thank you for your support and guidance!