WordPress wp_enqueue_media()打破特色图片

时间:2015-08-08 17:13:46

标签: wordpress

我正在创建一个自定义WordPress主题,而我试图在不使用任何插件的情况下这样做。我通过将以下内容添加到我的主题functions.php

中,为帖子启用了精选图片
add_theme_support('post-thumbnails', array('post'));

我添加了一些自定义管理设置页面来管理客户端'艺术品相关文件,如图标和徽标等等。因此,我还在我的主题functions.php中添加了以下内容,以便让Media Uploader在这些新设置页面上运行:

wp_enqueue_style('media-editor');
wp_enqueue_media();

不幸的是,出于某种原因,wp_enqueue_media();函数调用打破了我的管理员编辑帖子页面中的精选图片功能。

我可以打开媒体浏览器,上传图片并选择它,但点击设置特色图片不会做任何事情并且不会引发控制台错误。

评论wp_enqueue_media()会修复特色图片,但会破坏自定义管理设置页面。

enqueue_media调用是在after_setup_theme操作期间执行的。难道我做错了什么?这是一个错误吗?

有没有办法检测我是哪一个自定义管理页面,所以我只能在其上启用媒体上传器?

WordPress版本4.2.4

1 个答案:

答案 0 :(得分:1)

在这里,当您进入自定义页面时,这将是enqueue media

add_action( 'admin_enqueue_scripts', function( $hook )
    {
        /** @var \WP_Screen $screen */
        $screen = get_current_screen();

       //echo '<pre>';print_r($screen);echo '</pre>';

        if ( 'your_custom_page.php' == $screen->base ) {
            wp_enqueue_media();
        } else return;
    } );