From 9670659267eb7335e9e250df68cf98a45b8a4c00 Mon Sep 17 00:00:00 2001 From: FrankZamora Date: Thu, 6 Nov 2025 22:51:44 -0600 Subject: [PATCH] =?UTF-8?q?Forzar=20remoci=C3=B3n=20de=20defer=20en=20main?= =?UTF-8?q?.js=20-=20Issue=20#110=20FIX=20REAL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PROBLEMA RAÍZ IDENTIFICADO: - WordPress 6.3+ agrega automáticamente defer a scripts en footer con dependencias - wp_localize_script NO funciona con scripts diferidos - apusTheme nunca se inyecta en HTML - main.js usa ruta incorrecta para modal: fetch('modal-contact.html') - WordPress devuelve página 404 completa - Se inserta en modalContainer duplicando TODO el sitio SOLUCIÓN: 1. Agregar filtro script_loader_tag con prioridad 20 2. Remover atributos defer y data-wp-strategy de apus-main-js 3. Esto permite que wp_localize_script inyecte apusTheme 4. main.js ahora puede usar apusTheme.themeUrl correctamente ARCHIVOS: - wp-content/themes/apus-theme/inc/enqueue-scripts.php:214-227 (nuevo filtro) - wp-content/themes/apus-theme/inc/enqueue-scripts.php:197 (versión 1.0.3) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../themes/apus-theme/inc/enqueue-scripts.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/wp-content/themes/apus-theme/inc/enqueue-scripts.php b/wp-content/themes/apus-theme/inc/enqueue-scripts.php index e46bc664..b00c8064 100644 --- a/wp-content/themes/apus-theme/inc/enqueue-scripts.php +++ b/wp-content/themes/apus-theme/inc/enqueue-scripts.php @@ -194,8 +194,8 @@ function apus_enqueue_custom_assets() { 'apus-main-js', get_template_directory_uri() . '/assets/js/main.js', array('apus-bootstrap-js'), - '1.0.2', // Cache bust: remove defer for wp_localize_script compatibility - true // Load in footer (defer removed for wp_localize_script to work) + '1.0.3', // Cache bust: force remove defer with filter + true // Load in footer ); // Localize script to pass theme URL to JavaScript @@ -211,6 +211,21 @@ function apus_enqueue_custom_assets() { add_action('wp_enqueue_scripts', 'apus_enqueue_custom_assets', 11); +/** + * Remove defer from apus-main-js to make wp_localize_script work + * WordPress 6.3+ adds defer automatically to footer scripts with dependencies + * but wp_localize_script requires synchronous execution + */ +function apus_remove_defer_from_main_js($tag, $handle) { + if ('apus-main-js' === $handle) { + // Remove defer and data-wp-strategy attributes + $tag = str_replace(' defer', '', $tag); + $tag = str_replace(' data-wp-strategy="defer"', '', $tag); + } + return $tag; +} +add_filter('script_loader_tag', 'apus_remove_defer_from_main_js', 20, 2); + /** * Enqueue footer styles */