Dans le passé, la fenêtre de la médiathèque pouvait être appelée ainsi:
tb_show("Upload image", "media-upload.php?type=image&TB_iframe=1&width=640&height=520");
Cela fonctionne toujours dans WP3.5. Mais je me demande comment ouvrir un nouveau gestionnaire de médias? Ce n'est plus géré par Thickbox - tb_show()
.
Merci pour tout conseil!
De l'article Comment utiliser WordPress 3.5 Media Uploader dans les options de thème (par codestag.com) , comme indiqué dans tilisation de WordPress 3.5 Media Uploader dans les plugins (par mikejolley.com) . L'article de Mike Jolley présente quelques astuces intéressantes.
Remarque importante : si la page où le programme de téléchargement va être utilisé ne possède pas déjà toutes les API JS de média, alors wp_enqueue_media()
doit être appelé.
Donc, supposons que nous ayons un bouton comme celui-ci dans une Meta Box personnalisée:
<div class="uploader">
<input type="text" name="settings[_wpse_82857]" id="_wpse_82857" />
<input class="button" name="_wpse_82857_button" id="_wpse_82857_button" value="Upload" />
</div>
Le script suivant appelle le nouveau programme de téléchargement et remplit le champ de saisie #_wpse_82857
avec le chemin de la pièce jointe lorsque Insert into post est cliqué.
jQuery(document).ready(function($)
{
var _custom_media = true,
_orig_send_attachment = wp.media.editor.send.attachment;
// ADJUST THIS to match the correct button
$('.uploader .button').click(function(e)
{
var send_attachment_bkp = wp.media.editor.send.attachment;
var button = $(this);
var id = button.attr('id').replace('_button', '');
_custom_media = true;
wp.media.editor.send.attachment = function(props, attachment)
{
if ( _custom_media )
{
$("#"+id).val(attachment.url);
} else {
return _orig_send_attachment.apply( this, [props, attachment] );
};
}
wp.media.editor.open(button);
return false;
});
$('.add_media').on('click', function()
{
_custom_media = false;
});
});