var business_club_file_frame; jQuery(function($){ // Image upload. jQuery(document).on('click', 'input.select-img', function( event ) { var $this = $(this); event.preventDefault(); var BusicessClubCustomThemeImage = wp.media.controller.Library.extend({ defaults : _.defaults({ id: 'custom-theme-insert-image', title: $this.data( 'uploader_title' ), allowLocalEdits: false, displaySettings: true, displayUserSettings: false, multiple : false, library: wp.media.query( { type: 'image' } ) }, wp.media.controller.Library.prototype.defaults ) }); // Create the media frame. business_club_file_frame = wp.media.frames.business_club_file_frame = wp.media({ button: { text: jQuery( this ).data( 'uploader_button_text' ) }, state : 'custom-theme-insert-image', states : [ new BusicessClubCustomThemeImage() ], multiple: false }); // When an image is selected, run a callback. business_club_file_frame.on( 'select', function() { var state = business_club_file_frame.state('custom-theme-insert-image'); var selection = state.get('selection'); var display = state.display( selection.first() ).toJSON(); var obj_attachment = selection.first().toJSON(); display = wp.media.string.props( display, obj_attachment ); var image_field = $this.siblings('.img'); var imgurl = display.src; // Copy image URL. image_field.val(imgurl); image_field.trigger('change'); // Show in preview. var image_preview_wrap = $this.siblings('.image-preview-wrap'); var image_html = ''; image_preview_wrap.html( image_html ); // Show Remove button. var image_remove_button = $this.siblings('.btn-image-remove'); image_remove_button.css('display','inline-block'); }); // Now open modal. business_club_file_frame.open(); }); // Remove image. jQuery(document).on('click', 'input.btn-image-remove', function( e ) { e.preventDefault(); var $this = $(this); var image_field = $this.siblings('.img'); image_field.val(''); var image_preview_wrap = $this.siblings('.image-preview-wrap'); image_preview_wrap.html(''); $this.css('display','none'); image_field.trigger('change'); }); });