是否在上传完成后立即关闭媒体上传厚盒?

时间:2012-09-02 作者:moraleida

我正在使用WP自己的媒体上传功能开发前端上传程序。一切都很好,只是我只想简化一些UI事情,比如为我的用户删除选项卡和不必要的信息。最重要的是,我想在上传完成并处理完文件后神奇地关闭Upload Thickbox。

我知道add_attachment hook和我已经在使用它来进行一些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);
    }
}
这正是我想挂接的地方,这样,我就不用启用submit按钮,而是直接启动TB_close().

这能以任何方式做到吗?

1 个回复
最合适的回答,由SO网友:moraleida 整理而成

解决方法很简单:

挂接自定义。将js脚本上传到media upload thickbox,以便它在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();

});

});

结束

相关推荐

Removing admin javascript

我在添加时遇到了一些问题jquery-week-calendar 到WordPress的管理界面,使用add_menu_page 以及其他API方法。我发现默认值jquery-ui 和其他JavaScript引用正在干扰呈现的日历行为。如何从管理界面中删除这些额外脚本?load-scripts.php 调用了几次,我似乎无法注销tinyMCE等管理组件调用的脚本。