Upload de mídia personalizada do Wordpress 3.5 para as opções do seu tema

Wordpress 3.5 foi lançado recentemente, eu usei o sistema Wordpress Media Upload via thickbox ewindow.send_to_editor para algumas opções no meu tema Wordpress (fundos, logotipos etc ...).

Mas como você sabe que o Wordpress integrou um novo Media Manager, eu queria usar esse novo recurso para fazer upload de imagens / arquivos como campos personalizados. Então eu passei a manhã para encontrar uma maneira de obter o resultado desejado.

Eu encontrei com esta solução, que pode ser útil para alguns de vocês. Obrigado por me dar seu feedback sobre o código ou qualquer melhoria que você tenha em mente!

Amostra 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="">

Código 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;
});

Se você quiser ver todas as configurações contidas noattachment variável você pode fazer umconsole.log(attachment) oualert(attachment).

questionAnswers(5)

yourAnswerToTheQuestion