jQuery(document).ready(function ($) { imageWidget = { uploader: function (widget_id_string) { function media_upload(button_class) { var _custom_media = true, _orig_send_attachment = wp.media.editor.send.attachment; $('body').on('click', button_class, function (e) { var button_id = '#' + $(this).attr('id'); var self = $(button_id); var send_attachment_bkp = wp.media.editor.send.attachment; var button = $(button_id); var id = button.attr('id').replace('_button', ''); _custom_media = true; wp.media.editor.send.attachment = function (props, attachment) { if (_custom_media) { $("#" + widget_id_string + 'attachment_id').val(attachment.id); $("#" + widget_id_string).val(attachment.url); $("#" + widget_id_string + 'preview').attr('src', attachment.url).css('display', 'block'); } else { return _orig_send_attachment.apply(button_id, [props, attachment]); } } wp.media.editor.open(button); return false; }); } media_upload('.custom_media_button.button'); } } });