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