From 7e87e18a430d11607b6eb9712bc53ef6c4d5dd80 Mon Sep 17 00:00:00 2001 From: dwindown Date: Sun, 16 Nov 2025 13:17:47 +0700 Subject: [PATCH] fix: Correct asset paths for WP-Admin and standalone media styles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🐛 CRITICAL FIX - Asset Path Issue: 1. WP-Admin Assets Not Loading: ❌ Old path: includes/Admin/../admin-spa/dist/ ✅ New path: /plugin-root/admin-spa/dist/ Problem: Relative path from includes/Admin/ was wrong Solution: Use dirname(__DIR__) to get plugin root, then build absolute path Before: - CSS exists: no - JS exists: no After: - CSS exists: yes (2.4MB) - JS exists: yes (70KB) 2. Standalone Media Library Styling: ❌ Missing WordPress core styles (buttons, dashicons) ✅ Added wp_print_styles for buttons and dashicons Problem: Media modal had unstyled text/buttons Solution: Enqueue all required WordPress media styles Styles now loaded: - media-views (modal structure) - imgareaselect (image selection) - buttons (WordPress buttons) - dashicons (icons) 📝 Debug logs now show: [WooNooW Assets] Dist dir: /home/.../woonoow/admin-spa/dist/ [WooNooW Assets] CSS exists: yes [WooNooW Assets] JS exists: yes 🎯 Result: - WP-Admin SPA now loads correctly - Standalone media library properly styled - Both modes fully functional --- includes/Admin/Assets.php | 6 ++++-- includes/Admin/StandaloneAdmin.php | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/includes/Admin/Assets.php b/includes/Admin/Assets.php index 4ec6591..73e2efb 100644 --- a/includes/Admin/Assets.php +++ b/includes/Admin/Assets.php @@ -137,8 +137,10 @@ class Assets { * PROD MODE (built assets in admin-spa/dist) * -------------------------------------- */ private static function enqueue_prod(): void { - $dist_dir = plugin_dir_path(__FILE__) . '../admin-spa/dist/'; - $base_url = plugins_url('../admin-spa/dist/', __FILE__); + // Get plugin root directory (2 levels up from includes/Admin/) + $plugin_dir = dirname(dirname(__DIR__)); + $dist_dir = $plugin_dir . '/admin-spa/dist/'; + $base_url = plugins_url('admin-spa/dist/', $plugin_dir . '/woonoow.php'); $css = 'app.css'; $js = 'app.js'; diff --git a/includes/Admin/StandaloneAdmin.php b/includes/Admin/StandaloneAdmin.php index 1f935af..947d609 100644 --- a/includes/Admin/StandaloneAdmin.php +++ b/includes/Admin/StandaloneAdmin.php @@ -112,9 +112,11 @@ class StandaloneAdmin {