js:
// Uploading files
var file_frame;
jQuery(document).on('click', '.upload_file_button', function (event) {
event.preventDefault();
// If the media frame already exists, reopen it.
if (file_frame) {
file_frame.open();
return;
}
// Create the media frame.
file_frame = wp.media.frames.downloadable_file = wp.media({
title: 'Choose file',
button: {
text: 'Use file'
},
multiple: false
});
// When an image is selected, run a callback.
file_frame.on('select', function () {
var attachment = file_frame.state().get('selection').first().toJSON();
console.log(attachment);
jQuery('#input_audio').val(attachment.url);
jQuery('.sm-preview').html('Listen file').attr('href',attachment.url);
});
// Finally, open the modal.
file_frame.open();
});
html:
<button type="submit" class="upload_file_button button">Upload</button> <a class="sm-preview">Audio file not set.</a> <input type="hidden" name="input_audio" id="input_audio" value=""/>