Как загрузить медиафайлы в WordPress 3.5 с помощью Media Manager

ВОПРОС

Всем привет. Я думаю, вы знаете, что WordPress 3.5 имеет интеграцию Media Manager. Так вот, я очень хочу попробовать применить это для загрузки изображений в виде настраиваемых полей. Есть у кого-нибудь идеи, как можно реализовать мою идею?

ОТВЕТ

После выхода WordPress 3.5 я как раз подумал о том, что можно использовать функционал Media Manager для этой цели. Мне пришлось потратить целое утро, но все же я смог найти один способ как можно сделать то, что вы хотели.
Это решение будет полезно многим разработчикам, и оно может стать отличной отправной точкой для создания галерей.
Вот мой код 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:

$(‘.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;
});