Problem 1: Fonts not loading (404 errors)
Root Cause: Build script only copied app.js and app.css, not fonts folder
Solution: Include fonts directory in production build
Problem 2: Theme header/footer still showing on some themes
Root Cause: Header/footer removal only worked in 'full' mode, not for shortcode pages
Solution:
- Use blank template (spa-full-page.php) for ANY page with WooNooW shortcodes
- Remove theme elements for shortcode pages even in 'disabled' mode
- Stronger detection for Shop page (archive) shortcode check
Changes:
- build-production.sh: Copy fonts folder if exists
- TemplateOverride.php:
* use_spa_template() now checks for shortcodes in disabled mode
* should_remove_theme_elements() removes for shortcode pages
* Added Shop page archive check for shortcode detection
Result:
✅ Fonts now included in production build (~500KB added)
✅ Theme header/footer removed on ALL shortcode pages
✅ Works with any theme (Astra, Twenty Twenty-Three, etc.)
✅ Clean SPA experience regardless of SPA mode setting
✅ Package size: 2.1M (was 1.6M, +500KB for fonts)
Problem: Duplicate headers and footers showing (theme + SPA)
Root Cause: Theme's header and footer still rendering when Full SPA mode is active
Solution: Remove theme header/footer elements when on WooCommerce pages in Full SPA mode
- Hook into get_header and get_footer actions
- Remove all theme header/footer actions
- Keep only essential WordPress head/footer scripts
- Only applies when mode='full' and on WooCommerce pages
Changes:
- Added remove_theme_header() method
- Added remove_theme_footer() method
- Added should_remove_theme_elements() check
- Hooks into get_header and get_footer
Result:
✅ Clean SPA experience without theme header/footer
✅ Essential WordPress scripts still load
✅ Only affects Full SPA mode on WooCommerce pages
✅ Other pages keep theme header/footer