所以我能够实现我想要的,尽管有点迂回。我将在这里分享我的解决方案,以防有人无意中发现这篇文章,想要做类似的事情。
而不是将事件侦听器添加到wp.media.featuredImage.frame()
, 相反,我将自己的onclick事件侦听器添加到#remove-post-thumbnail
链接元素。这让我感觉有点不舒服,因为它不直接与特征图像的未设置相关联,但是由于没有验证删除的提示,用户交互相当不明显。
然而,这个解决方案有一个警告-已经有一个onclick
事件绑定到该链接,因此您需要避免覆盖该链接,否则您将无法实际删除特色图像。最初,我尝试捕获默认onclick事件,然后从覆盖它的事件中调用它,如下所示:
DO NOT DO THIS
var ogCallback = document.getElementById(\'remove-post-thumbnail\').onclick;
document.getElementById(\'remove-post-thumbnail\').onclick = function(e) {
// My code - do some things
// ...
ogCallback(e);
}
但这使得WordPress在删除特色图片时出现了一些小问题,可能是因为我没有考虑到一些JavaScript范围。因为我也在利用jQuery(这是一个没有判断的区域,对吧?)我可以改用jQuery的事件绑定系统,并避免覆盖默认行为,允许我的自定义代码与WordPress的特色图像删除逻辑一起运行:
DO THIS
$(document).on(\'click\', \'#remove-post-thumbnail\', function(){
// Do stuff. Don\'t let your dreams be dreams
});