jQuery(function($) { var file_frame; $(document).on('click', '#oceanwp-gallery-metabox a.gallery-add', function(e) { e.preventDefault(); if (file_frame) file_frame.close(); file_frame = wp.media.frames.file_frame = wp.media({ title: $(this).data('uploader-title'), button: { text: $(this).data('uploader-button-text'), }, multiple: true }); file_frame.on('select', function() { var listIndex = $('#gallery-metabox-list li').index($('#gallery-metabox-list li:last')), selection = file_frame.state().get('selection'); selection.map(function(attachment, i) { attachment = attachment.toJSON(), index = listIndex + (i + 1); $('#gallery-metabox-list').append('
  • Change image
  • '); }); }); makeSortable(); file_frame.open(); }); $(document).on('click', '#oceanwp-gallery-metabox a.change-image', function(e) { e.preventDefault(); var that = $(this); if (file_frame) file_frame.close(); file_frame = wp.media.frames.file_frame = wp.media({ title: $(this).data('uploader-title'), button: { text: $(this).data('uploader-button-text'), }, multiple: false }); file_frame.on( 'select', function() { attachment = file_frame.state().get('selection').first().toJSON(); that.parent().find('input:hidden').attr('value', attachment.id); that.parent().find('img.image-preview').attr('src', attachment.sizes.thumbnail.url); }); file_frame.open(); }); function resetIndex() { $('#gallery-metabox-list li').each(function(i) { $(this).find('input:hidden').attr('name', 'ocean_gallery_id[' + i + ']'); }); } function makeSortable() { $('#gallery-metabox-list').sortable({ opacity: 0.6, stop: function() { resetIndex(); } }); } $(document).on('click', '#oceanwp-gallery-metabox a.remove-image', function(e) { e.preventDefault(); $(this).parents('li').animate({ opacity: 0 }, 200, function() { $(this).remove(); resetIndex(); }); }); makeSortable(); });