我刚碰到这个。原因是您正在覆盖window.send_to_editor
与您自己的功能之一。WordPress使用此功能插入图库和其他内容,所以现在您已经更改了它,它无法插入。
理想情况下,“您希望使用由媒体上载程序触发的事件,而不是仅仅替换函数,或者至少在备份时临时替换它,类似这样的情况(wp admin使用下划线.js):
myBtn.on(\'click\', function() {
var bkSend = _.clone(window.send_to_editor); // we need a copy
//... My code
window.send_to_editor = function(html) {
//... My custom things
restore();
}
function restore() {
window.send_to_editor = bkSend;
}
});
未经测试。
Ok so a tested and working version for my case:
(function($) {
$(document).ready(function() {
$(\'#upload_image_button\').on(\'click\', function(e) {
e.preventDefault();
e.stopPropagation();
tb_show(\'\', \'media-upload.php?post_id=<?php echo $post->ID; ?>&type=image&TB_iframe=true\');
var bkSend = _.clone(window.send_to_editor);
var restore = function(callBack) {
window.send_to_editor = _.clone(bkSend);
callBack();
};
//console.log(bkSend);
window.send_to_editor = function(html) {
imgurl = $(html).find(\'img\').attr(\'src\');
$(\'#lc-slider-image\')[0].src = imgurl;
$(\'#lc_slider_image\').val(imgurl);
restore(tb_remove);
};
//console.log(window.send_to_editor);
});
});
})(jQuery);
我希望这能帮助那些引发这一切疯狂的可怕博客帖子的受害者。
我太忙了,没有时间美化代码,它肯定会更好,所以如果有人能帮我,那就太好了。