| Server IP : 108.167.142.43 / Your IP : 216.73.216.237 Web Server : Apache System : Linux gator4174.hostgator.com 5.14.0-687.39.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Aug 18 06:09:16 EDT 2026 x86_64 User : delarice ( 2406) PHP Version : 8.3.36 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home2/delarice/public_html/wp-content/plugins/header-footer-elementor/themes/ |
Upload File : |
--- module: themes owner: UNKNOWN --- # themes ## Responsibility - Owns the runtime swap of a theme's native header/footer/before-footer markup for the plugin's Elementor-built templates. One adapter class per supported theme registers into that theme's specific hooks and removes the theme's own markup callbacks. - Stops at rendering placement — the template content comes from `Header_Footer_Elementor::get_*_content()` / `hfe_render_*()` in `inc/`. Adapter *selection* also lives in `inc/class-header-footer-elementor.php:103-130`, not here. ## Why it is this way - There is no single theme API for replacing a header/footer, so each theme needs a bespoke adapter (different hooks, and different suppression: `remove_action` vs a theme filter vs CSS). The uniform-looking skeleton hides genuinely per-theme suppression logic. - `default/` is a fallback with two user-selectable strategies (replace `header.php`/`footer.php`, or `wp_body_open`/`wp_footer`) because unsupported themes expose no reliable hook — so the choice is pushed to the site owner via `hfe_compatibility_option`. ## Related ADRs None yet.