"添加媒体"升级到Wordpress 3.9后按钮无法正常工作

时间:2014-09-09 22:09:32

标签: javascript php wordpress backbone.js

自动升级到Wordpress 3.9打破了我们客户网站上帖子的“添加媒体”功能...当您点击“添加媒体”时,它没有显示媒体库中的任何照片(只是有一个即使这些照片仍在那里,当您通过主导航中的“媒体”菜单项进入媒体库时,这些照片仍然存在。

从那时起,我尝试升级到Wordpress 3.9.2,禁用所有插件,并将主题设置为默认的TwentyTen主题。问题仍然存在,唯一不同的是,升级到Wordpress 3.9.2(从早期的3.9版本)似乎已经导致旋转图标出现在照片应加载的区域,但它只是永远旋转,照片永远不会加载。

我查看了Chrome开发者工具中的AJAX调用,发现admin_ajax.php调用实际上正在返回正确的数据,包括所有正确的图像路径,所以这不是问题...我在想必须有一些与Javascript相关的问题导致图像无法显示。

进一步调试,我找到了media.controller.GalleryAdd的initialize()函数,它是wp-includes / js / media-views.js中的标准Wordpress文件。我添加了console.log()函数来查看发生了什么:

    initialize: function() {
        // If we haven't been provided a `library`, create a `Selection`.
        if ( ! this.get('library') ) {
            console.log('media.query result', media.query({ type: 'image' }) )

            this.set( 'library', media.query({ type: 'image' }) );
        }

        media.controller.Library.prototype.initialize.apply( this, arguments );
    }

Wordpress使用Backbone.js,虽然我不知道Backbone,但我发现这里看起来像个问题... media.query()结果的length为0且其{{1数组为空。

我正在尝试进一步调试以找到问题的根源,但我并不熟悉Wordpress源代码,正如我所提到的,我也不熟悉Backbone,并且它会很好这解决了,而不必花费数小时调试它。

任何人都可以就此问题提供任何想法/建议吗?

2 个答案:

答案 0 :(得分:0)

我弄清楚问题是什么,而且它非常简单......它是由wp-config.php末尾的额外空格引起的!我只是删除了文件底部的结束?>标记,以避免空格在将来导致任何问题(我个人总是在我自己的代码中省略关闭?>标记,但此网站是由别人。)我猜这个空格在Wordpress代码的某个地方干扰了header()功能,导致媒体库窗口停止工作。

答案 1 :(得分:0)

我遇到了同样的问题,我认为两个jQuery文件缺少jquery.ui.tabs.min.jsjquery.ui.tooltip.min.js。我在Google Code中找到了该来源。它们需要放在wp-includes/js/jquery/ui