我是Backbone
的新手,所以无法理解我做错了什么。我需要的是覆盖saveCompat(media-models.js
line 310
,WP 3.9.1
)。我试图这样做,我已经覆盖了一些媒体观点
wp.media.model.Attachment = wp.media.model.Attachment.extend({
saveCompat: function( data, options ) {
some code here...
}
});
但它对我不起作用。 Native WordPress saveCompat
已执行。同时,同样的想法完全适用于wp.media.view.AttachmentCompat
例如
wp.media.view.AttachmentCompat = wp.media.view.AttachmentCompat.extend({
save: function( event ) {
some code here...
}
});
提前致谢!
答案 0 :(得分:2)
我明白了。扩展它的正确方法是:
_.extend( wp.media.model.Attachment.prototype, {
saveCompat: function( data, options ) {
some code here...
}
});
答案 1 :(得分:1)
使用_.extend
删除了调用方法的超类实现的能力。正确(或至少是工作)的方法是使用Backbone的extend
方法,然后在wp.media.model.Attachment
中覆盖原型,如下所示:
var MediaCreditAttachmentModel = wp.media.model.Attachment.extend( {
saveCompat: function( data, options ) {
...
}
} );
wp.media.model.Attachment.prototype = MediaCreditAttachmentModel.prototype;