From 3b3e3bd0adc0c798189634ba2d46756ed74b5c8e Mon Sep 17 00:00:00 2001 From: dwindown Date: Sun, 16 Nov 2025 13:09:22 +0700 Subject: [PATCH] fix: Add debug logging and WordPress media templates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🐛 Two Issues Fixed: 1. WP-Admin Assets Not Loading: - Added debug logging to Assets.php - Logs hook name, dev mode status, file existence, URLs - Helps diagnose why assets aren't enqueued - Enable WP_DEBUG to see logs 2. Standalone WordPress Media Templates Missing: - Added wp_print_media_templates() call - Outputs required #tmpl-media-modal templates - Fixes 'Template not found' error - Media library modal now works correctly 📝 Debug Logs (when WP_DEBUG enabled): - [WooNooW Assets] Hook: toplevel_page_woonoow - [WooNooW Assets] Dev mode: false - [WooNooW Assets] Dist dir: /path/to/admin-spa/dist/ - [WooNooW Assets] CSS exists: yes - [WooNooW Assets] JS exists: yes - [WooNooW Assets] CSS URL: http://... - [WooNooW Assets] JS URL: http://... 🎯 Result: - Better diagnostics for asset loading issues - WordPress media library fully functional in standalone mode - Easier troubleshooting with debug logs --- includes/Admin/Assets.php | 20 ++++++++++++++++++++ includes/Admin/StandaloneAdmin.php | 3 +++ 2 files changed, 23 insertions(+) diff --git a/includes/Admin/Assets.php b/includes/Admin/Assets.php index d82a7a3..4ec6591 100644 --- a/includes/Admin/Assets.php +++ b/includes/Admin/Assets.php @@ -12,6 +12,11 @@ class Assets { } public static function enqueue($hook) { + // Debug logging + if (defined('WP_DEBUG') && WP_DEBUG) { + error_log('[WooNooW Assets] Hook: ' . $hook); + } + if ($hook !== 'toplevel_page_woonoow') { return; } @@ -21,6 +26,12 @@ class Assets { // Decide dev vs prod $is_dev = self::is_dev_mode(); + + // Debug logging + if (defined('WP_DEBUG') && WP_DEBUG) { + error_log('[WooNooW Assets] Dev mode: ' . ($is_dev ? 'true' : 'false')); + } + if ($is_dev) { self::enqueue_dev(); } else { @@ -135,6 +146,15 @@ class Assets { $ver_css = file_exists($dist_dir . $css) ? (string) filemtime($dist_dir . $css) : self::asset_version(); $ver_js = file_exists($dist_dir . $js) ? (string) filemtime($dist_dir . $js) : self::asset_version(); + // Debug logging + if (defined('WP_DEBUG') && WP_DEBUG) { + error_log('[WooNooW Assets] Dist dir: ' . $dist_dir); + error_log('[WooNooW Assets] CSS exists: ' . (file_exists($dist_dir . $css) ? 'yes' : 'no')); + error_log('[WooNooW Assets] JS exists: ' . (file_exists($dist_dir . $js) ? 'yes' : 'no')); + error_log('[WooNooW Assets] CSS URL: ' . $base_url . $css); + error_log('[WooNooW Assets] JS URL: ' . $base_url . $js); + } + if (file_exists($dist_dir . $css)) { wp_enqueue_style('wnw-admin', $base_url . $css, [], $ver_css); } diff --git a/includes/Admin/StandaloneAdmin.php b/includes/Admin/StandaloneAdmin.php index 990521a..1f935af 100644 --- a/includes/Admin/StandaloneAdmin.php +++ b/includes/Admin/StandaloneAdmin.php @@ -159,6 +159,9 @@ class StandaloneAdmin { // Print WordPress media library scripts (needed for wp.media) wp_print_scripts( 'media-editor' ); wp_print_scripts( 'media-audiovideo' ); + + // Print media templates (required for media modal to work) + wp_print_media_templates(); ?>