Multiple calls to wp_enqueue_media() breaks featured image functionality
|Reported by:||johnbillion||Owned by:|
My custom meta box provides a button which launches the new media manager so a user can upload files.
This meta box can potentially be shown on the editing screen for a post type which supports neither a featured image nor the editor. Therefore, my meta box needs to call wp_enqueue_media() otherwise it won't have the required JS or CSS to work with.
The meta box can't blindly call wp_enqueue_media() all the time because the editing screen for a post type which supports the editor or a featured image will have already called this function. Calling it a second time causes the featured image functionality to break. (A blank media item is added to the media list and choosing an image as the featured image fails.)
My meta box therefore needs to do something like this to detect if wp_enqueue_media() has already been called:
if ( !has_action( 'admin_footer', 'wp_print_media_templates' ) ) wp_enqueue_media();
This isn't ideal because the logic in my meta box is now tied to the internal behaviour of wp_enqueue_media().
Either prevent the featured image functionality from breaking when wp_enqueue_media() is called multiple times, or add some logic to wp_enqueue_media() so it doesn't do its thing more than once.
Change History (5)
comment:4 @johnbillion — 2 years ago
- Keywords close reporter-feedback removed
- Resolution set to fixed
- Status changed from new to closed