Hinzufügen einer Schaltfläche zum Medien-Uploader

Ich schreibe ein Plugin für WordPress und frage mich, wie man dem Media Uploader eine zusätzliche Schaltfläche hinzufügen kann, die etwas wie “Add to album” sagt. Ich kann anscheinend keine Informationen darüber finden, wie andere Entwickler das geschafft haben. Vielen Dank 🙂

Solutions Collecting From Web of "Hinzufügen einer Schaltfläche zum Medien-Uploader"

Wenn ich etwas ähnliches tun musste, benutzte ich den admin_print_scripts-media-upload-popup Hook, um meinen eigenen js / Jquery-Code hinzuzufügen, um eine Schaltfläche einzufügen und das Click-Ereignis mit ajax zu bearbeiten.

etwas wie das:

 add_action('admin_print_scripts-media-upload-popup','add_my_media_button'); function add_my_media_button(){ ?>  < ?php } 

Ich habe es so geschafft:

Hinzufügen von JS zum Medien-Uploader:

 function mediabutton(){ wp_register_script( 'mediabutton', ''.WP_PLUGIN_URL.'/magic-gallery/js/mediabutton.js', null, null); wp_enqueue_script( 'mediabutton'); } add_action('admin_print_scripts-media-upload-popup','mediabutton'); // Adding insert button 

Und dann mit diesem JS:

 jQuery(document).ready(function() { jQuery('Return to gallery').insertAfter('.ml-submit'); jQuery('#insert_gallery').live('click',function() { self.parent.tb_remove(); // This closes the thickbox }); }); 

Dann hakte ich in tb_close so ein:

 tb_remove = function () { // Your code here alert('closing thickbox'); // Original tb_remove code jQuery("#TB_imageOff").unbind("click"); jQuery("#TB_closeWindowButton").unbind("click"); jQuery("#TB_window").fadeOut("fast",function(){jQuery('#TB_window,#TB_overlay,#TB_HideSelect').trigger("tb_unload").unbind().remove();}); jQuery("#TB_load").remove(); if (typeof document.body.style.maxHeight == "undefined") {//if IE 6 jQuery("body","html").css({height: "auto", width: "auto"}); jQuery("html").css("overflow",""); } jQuery(document).unbind('.thickbox'); return false; } 

Oder Sie können einen neuen Tab hinzufügen, der alles enthält, was Sie wollen.

 < ?php function my_media_menu($tabs) { $newtab = array('tabname' => __('TextInMenu', 'yourname')); return array_merge($tabs, $newtab); } add_filter('media_upload_tabs', 'my_media_menu'); ?>