#23028 closed enhancement (fixed)
Multiple calls to wp_enqueue_media() breaks featured image functionality
Reported by: | johnbillion | Owned by: | |
---|---|---|---|
Milestone: | 3.5.1 | Priority: | normal |
Severity: | normal | Version: | 3.5 |
Component: | Media | Keywords: | |
Focuses: | Cc: |
Description
Situation
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.
Problem
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()
.
Solution
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)
#3
@
11 years ago
- Keywords close reporter-feedback added
or add some logic to wp_enqueue_media() so it doesn't do its thing more than once.
Related: [23269]
I also found that if featured image is enabled, you can simply omit
wp_enqueue_media();
The code in the report helps prevent this issue too