我正在创建一个自定义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
答案 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;
} );