diff --git a/functions.php b/functions.php index d81e9d2b..7b15ad8a 100644 --- a/functions.php +++ b/functions.php @@ -94,8 +94,11 @@ use ROITheme\Admin\Infrastructure\Api\WordPress\AdminMenuRegistrar; use ROITheme\Admin\Infrastructure\Services\AdminAssetEnqueuer; try { + file_put_contents('/tmp/yt-debug.log', date('H:i:s') . " [1] Try block started\n", FILE_APPEND); + // Obtener Use Case para cargar configuraciones $getComponentSettingsUseCase = $container?->getGetComponentSettingsUseCase(); + file_put_contents('/tmp/yt-debug.log', date('H:i:s') . " [2] getComponentSettingsUseCase OK\n", FILE_APPEND); // Crear MenuItem con configuración del panel $menuItem = new MenuItem( @@ -121,6 +124,8 @@ try { $adminAssetEnqueuer = new AdminAssetEnqueuer(get_template_directory_uri()); $adminAssetEnqueuer->register(); + file_put_contents('/tmp/yt-debug.log', date('H:i:s') . " [3] Admin panel registered\n", FILE_APPEND); + // Obtener Use Case para guardar configuraciones $saveComponentSettingsUseCase = $container?->getSaveComponentSettingsUseCase(); @@ -148,6 +153,8 @@ try { ); $newsletterAjaxHandler->register(); + file_put_contents('/tmp/yt-debug.log', date('H:i:s') . " [4] Newsletter handler registered\n", FILE_APPEND); + // Crear y registrar el inyector de Theme Settings (GA, Custom CSS/JS) $themeSettingsRenderer = new \ROITheme\Public\ThemeSettings\Infrastructure\Ui\ThemeSettingsRenderer(); $themeSettingsInjector = new \ROITheme\Public\ThemeSettings\Infrastructure\Services\ThemeSettingsInjector( @@ -156,16 +163,26 @@ try { ); $themeSettingsInjector->register(); + file_put_contents('/tmp/yt-debug.log', date('H:i:s') . " [5] ThemeSettings registered\n", FILE_APPEND); + // === YOUTUBE FACADE (PageSpeed Optimization Phase 2.4) === + file_put_contents('/tmp/yt-debug.log', date('H:i:s') . " [6] About to create YoutubeFacade classes\n", FILE_APPEND); // Lazy-load YouTube iframes to reduce TBT by ~2000ms $youtubeFacadeRenderer = new \ROITheme\Public\YoutubeFacade\Infrastructure\Ui\YoutubeFacadeRenderer(); + file_put_contents('/tmp/yt-debug.log', date('H:i:s') . " [7] YoutubeFacadeRenderer created\n", FILE_APPEND); + $youtubeFacadeFilter = new \ROITheme\Public\YoutubeFacade\Infrastructure\Services\YoutubeFacadeContentFilter( $youtubeFacadeRenderer ); + file_put_contents('/tmp/yt-debug.log', date('H:i:s') . " [8] YoutubeFacadeContentFilter created\n", FILE_APPEND); + $youtubeFacadeHooksRegistrar = new \ROITheme\Public\YoutubeFacade\Infrastructure\Wordpress\YoutubeFacadeHooksRegistrar( $youtubeFacadeFilter ); + file_put_contents('/tmp/yt-debug.log', date('H:i:s') . " [9] YoutubeFacadeHooksRegistrar created\n", FILE_APPEND); + $youtubeFacadeHooksRegistrar->register(); + file_put_contents('/tmp/yt-debug.log', date('H:i:s') . " [10] YoutubeFacade registered successfully\n", FILE_APPEND); // Log en modo debug if (defined('WP_DEBUG') && WP_DEBUG) { @@ -174,6 +191,7 @@ try { } catch (\Throwable $e) { // Manejar errores de inicialización del panel + file_put_contents('/tmp/yt-debug.log', date('H:i:s') . " [CATCH] Exception: " . $e->getMessage() . " in " . $e->getFile() . ":" . $e->getLine() . "\n", FILE_APPEND); if (defined('WP_DEBUG') && WP_DEBUG) { error_log('ROI Theme: Failed to initialize Admin Panel: ' . $e->getMessage() . ' in ' . $e->getFile() . ':' . $e->getLine()); }