wordpress 3.5 a été publié récemment, j'ai utilisé wordpress media système de téléchargement via thickbox et de la fenêtre.send_to_editor pour certaines options dans mon wordpress thème (fonds d'écran, logos, etc...).
Mais comme vous le savez wordpress a intégré un nouveau Gestionnaire de Médias, j'ai voulu utilisé cette nouvelle fonctionnalité permettant de télécharger des images/fichiers comme des champs personnalisés. J'ai donc passé la matinée à trouver un moyen d'obtenir le résultat désiré.
Je l'ai trouvé avec cette solution, qui peut être utile pour certains d'entre vous. Merci de me donner vos commentaires sur le code ou toutes les améliorations que vous avez à l'esprit !
Exemple de code HTML :
<a href="#" class="custom_media_upload">Upload</a>
<img class="custom_media_image" src="" />
<input class="custom_media_url" type="text" name="attachment_url" value="">
<input class="custom_media_id" type="text" name="attachment_id" value="">
jQuery Code :
$('.custom_media_upload').click(function() {
var send_attachment_bkp = wp.media.editor.send.attachment;
wp.media.editor.send.attachment = function(props, attachment) {
$('.custom_media_image').attr('src', attachment.url);
$('.custom_media_url').val(attachment.url);
$('.custom_media_id').val(attachment.id);
wp.media.editor.send.attachment = send_attachment_bkp;
}
wp.media.editor.open();
return false;
});
Si vous voulez voir tous les paramètres contenus dans la "pièce jointe" variable que vous pouvez faire une console.journal(pièce jointe) ou d'alerte(pièce jointe).
Une bonne journée !