57 lines
1.7 KiB
JavaScript
57 lines
1.7 KiB
JavaScript
jQuery( document ).ready( function( $ ) {
|
|
|
|
// Uploading files
|
|
var file_frame;
|
|
var wp_media_post_id = wp.media.model.settings.post.id; // Store the old id
|
|
|
|
jQuery('#pexpo-core-upload-image-button').on('click', function( event ){
|
|
|
|
event.preventDefault();
|
|
|
|
// If the media frame already exists, reopen it.
|
|
if ( file_frame ) {
|
|
// Set the post ID to what we want
|
|
file_frame.uploader.uploader.param( 'post_id', businessData.post_id );
|
|
// Open frame
|
|
file_frame.open();
|
|
return;
|
|
} else {
|
|
// Set the wp.media post id so the uploader grabs the ID we want when initialised
|
|
wp.media.model.settings.post.id = businessData.post_id;
|
|
}
|
|
|
|
// Create the media frame.
|
|
file_frame = wp.media.frames.file_frame = wp.media({
|
|
title: businessData.title,
|
|
button: {
|
|
text: businessData.button,
|
|
},
|
|
multiple: false // Set to true to allow multiple files to be selected
|
|
});
|
|
|
|
// When an image is selected, run a callback.
|
|
file_frame.on( 'select', function() {
|
|
// We set multiple to false so only get one image from the uploader
|
|
attachment = file_frame.state().get('selection').first().toJSON();
|
|
|
|
// Do something with attachment.id and/or attachment.url here
|
|
$( '#pexpo-core-business-logo-preview' ).attr( 'src', attachment.url ).css( 'width', 'auto' );
|
|
$( '#pexpo-core-business-logo-attachment-id' ).val( attachment.id );
|
|
|
|
// Restore the main post ID
|
|
wp.media.model.settings.post.id = wp_media_post_id;
|
|
});
|
|
|
|
// Finally, open the modal
|
|
file_frame.open();
|
|
});
|
|
|
|
// Restore the main ID when the add media button is pressed
|
|
jQuery( 'a.add_media' ).on( 'click', function() {
|
|
wp.media.model.settings.post.id = wp_media_post_id;
|
|
});
|
|
|
|
jQuery( '#pexpo-core-submit' ).on( 'click', function() {
|
|
$window.location.reload();
|
|
});
|
|
}); |