fix: Add debug logging and WordPress media templates

🐛 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
This commit is contained in:
dwindown
2025-11-16 13:09:22 +07:00
parent c1db133ffa
commit 3b3e3bd0ad
2 changed files with 23 additions and 0 deletions

View File

@@ -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);
}

View File

@@ -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();
?>
<script type="module" src="<?php echo esc_url( $js_url ); ?>"></script>