jQuery(document).on( 'ready widget-updated widget-added', function() { // Accordion Panels jQuery(".accordion_advance h4").click(function () { jQuery(this).next(".pane_advance").slideToggle("slow").siblings(".pane_advance:visible").slideUp("slow"); jQuery(this).toggleClass("current"); jQuery(this).siblings("h4").removeClass("current"); }); }); jQuery(document).ready( function($) { function media_upload(button_class) { var _custom_media = true, _orig_send_attachment = wp.media.editor.send.attachment; $('body').on('click', button_class, function(e) { var button_id ='#'+$(this).attr('id'); var self = $(button_id); var send_attachment_bkp = wp.media.editor.send.attachment; var button = $(button_id); var id = button.attr('id').replace('_button', ''); _custom_media = true; wp.media.editor.send.attachment = function(props, attachment){ if ( _custom_media ) { $('.custom_media_id').val(attachment.id); $('.custom_media_url').val(attachment.url); $('.custom_media_image').attr('src',attachment.url).css('display','block'); } else { return _orig_send_attachment.apply( button_id, [props, attachment] ); } } wp.media.editor.open(button); return false; }); } media_upload('.custom_media_button.button'); }); //Widget MEDIAPICKER PLUGIN //MEDIA PICKER FUNCTION function mediaPicker(pickerid){ var custom_uploader; var row_id //e.preventDefault(); row_id = jQuery('#'+pickerid).prev().attr('id'); //If the uploader object has already been created, reopen the dialog if (custom_uploader) { custom_uploader.open(); return; } //CREATE THE MEDIA WINDOW custom_uploader = wp.media.frames.file_frame = wp.media({ title: 'Insert Images', button: { text: 'Insert Images' }, type: 'image', multiple: false }); //"INSERT MEDIA" ACTION. PREVIEW IMAGE AND INSERT VALUE TO INPUT FIELD custom_uploader.on('select', function(){ var selection = custom_uploader.state().get('selection'); selection.map( function( attachment ) { attachment = attachment.toJSON(); //INSERT THE SRC IN INPUT FIELD jQuery('#' + row_id).val(""+attachment.url+"").trigger('change'); //APPEND THE PREVIEW IMAGE jQuery('#' + row_id).parent().find('.media-picker-preview, .media-picker-remove').remove(); if(attachment.sizes.medium){ jQuery('#' + row_id).parent().prepend(''); }else{ jQuery('#' + row_id).parent().prepend(''); } }); jQuery(".media-picker-remove").on('click',function(e) { jQuery(this).parent().find('.media-picker').val('').trigger('change'); jQuery(this).parent().find('.media-picker-preview, .media-picker-remove').remove(); }); }); //OPEN THE MEDIA WINDOW custom_uploader.open(); } jQuery(document).on( 'ready widget-updated widget-added', function() { //jQuery(".media-picker-remove").unbind( "click" ); jQuery(".media-picker-remove").on('click',function(e) { jQuery(this).parent().find('.media-picker').val('').trigger('change'); jQuery(this).parent().find('.media-picker-preview, .media-picker-remove').remove(); }); //jQuery( ".media-picker-button").unbind( "click" ); }); jQuery(document).ready(function($){ $('.my_meta_control .color-picker').wpColorPicker(); }); //COLRPICKER FIELD ( function( $ ){ function initColorPicker( widget ) { widget.find( '.color-picker' ).wpColorPicker( { change: _.throttle( function() { // For Customizer $(this).trigger( 'change' ); }, 2000 ) }); } function onFormUpdate( event, widget ) { initColorPicker( widget ); } $( document ).on( 'widget-added widget-updated', onFormUpdate ); $( document ).ready( function() { $( '#widgets-right .widget:has(.color-picker)' ).each( function () { initColorPicker( $( this ) ); } ); } ); }( jQuery ) ); /* * Attaches the image uploader to the input field */ jQuery(document).ready(function($){ // Instantiates the variable that holds the media library frame. var meta_image_frame; // Runs when the image button is clicked. $('#meta-image-button').click(function(e){ // Prevents the default action from occuring. e.preventDefault(); // If the frame already exists, re-open it. if ( meta_image_frame ) { meta_image_frame.open(); return; } // Sets up the media library frame meta_image_frame = wp.media.frames.meta_image_frame = wp.media({ title: meta_image.title, button: { text: meta_image.button }, library: { type: 'image' } }); // Runs when an image is selected. meta_image_frame.on('select', function(){ // Grabs the attachment selection and creates a JSON representation of the model. var media_attachment = meta_image_frame.state().get('selection').first().toJSON(); // Sends the attachment URL to our custom image input field. $('#meta-image').val(media_attachment.url); }); // Opens the media library frame. meta_image_frame.open(); }); });