Закройте толстый ящик для загрузки мультимедиа сразу после завершения загрузки?
Я работаю над загрузчиком переднего плана, используя собственные функции загрузки мультимедиа WP. Все хорошо, за исключением того, что я просто хочу упростить некоторые вещи пользовательского интерфейса, такие как удаление вкладок и ненужной информации для моих пользователей. Самое главное, я хотел бы волшебным образом закрыть окно загрузки, как только загрузка будет завершена и файлы будут сжаты.
Я знаю о крючке add_attachment
, и я уже использую его для некоторой обработки ImageMagick, но он срабатывает каждый раз при загрузке файла, поэтому это как-то чересчур.
Пробравшись через ядро, я добрался до wp-includes/js/swfupload/handlers.dev.js а в строке 232 есть вот что:
function uploadComplete(fileObj) {
// If no more uploads queued, enable the submit button
if ( swfu.getStats().files_queued == 0 ) {
jQuery('#cancel-upload').prop('disabled', true);
jQuery('#insert-gallery').prop('disabled', false);
}
}
Это именно то место, где я хочу зацепиться, чтобы вместо включения кнопки отправки я просто выстрелил TB_close()
.
Можно ли это сделать каким-либо образом?
1 answers
Это было решено так же просто, как:
-
Подключение пользовательского сценария .js к толстому ящику для загрузки мультимедиа, чтобы он запускался внутри iFrame:
function admin_styles_scripts_media_upload() { wp_register_script('mediajs', get_template_directory_uri().'/js/button.js', array('jquery'), true); wp_enqueue_script('mediajs'); } add_action('admin_print_scripts-media-upload-popup','admin_styles_scripts_media_upload'); ?>
-
Используйте скрипт, чтобы заменить кнопку сохранения по умолчанию пользовательской, и вызовите
self.parent.tb_remove
из нее:jQuery(document).ready(function() { jQuery('<a href="#" id="back_to_admin" class="button">Voltar para Edição</a>').insertAfter('.ml-submit'); jQuery('.savebutton.ml-submit').detach(); jQuery('a.toggle').live("remove"); jQuery('#back_to_admin').live('click',function() { parent.uploadedImages(); self.parent.tb_remove(); }); });