【问题标题】:WordPress wp_enqueue_media() breaks Featured ImageWordPress wp_enqueue_media() 中断精选图片
【发布时间】:2015-11-01 00:11:41
【问题描述】:

我正在创建一个自定义 WordPress 主题,并且我正在尝试在不使用任何插件的情况下这样做。我通过将以下内容添加到我的主题 functions.php 为帖子启用了特色图片:

add_theme_support('post-thumbnails', array('post'));

我添加了一些自定义管理设置页面,用于管理客户的艺术品相关文件,例如图标和徽标等等。因此,我还在我的主题的functions.php 中添加了以下内容,以便让媒体上传器在这些新设置页面上工作:

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

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

我可以打开媒体浏览器,上传图像并选择它,但单击“设置特色图像”不会执行任何操作,也不会引发控制台错误。

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

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

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

WordPress 版本 4.2.4

【问题讨论】:

    标签: wordpress


    【解决方案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;
        } );
    

    【讨论】:

    • 正是我想要的。有这么多该死的钩子!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    相关资源
    最近更新 更多