jQuery(function($) { function runAjaxAction(button, action) { button = $(button); var panel = button.closest('.puc-debug-bar-panel-v5'); var responseBox = button.closest('td').find('.puc-ajax-response'); responseBox.text('Processing...').show(); $.post( ajaxurl, { action : action, uid : panel.data('uid'), _wpnonce: panel.data('nonce') }, function(data) { responseBox.html(data); }, 'html' ); } $('.puc-debug-bar-panel-v5 input[name="puc-check-now-button"]').on('click', function() { runAjaxAction(this, 'puc_v5_debug_check_now'); return false; }); $('.puc-debug-bar-panel-v5 input[name="puc-request-info-button"]').on('click', function() { runAjaxAction(this, 'puc_v5_debug_request_info'); return false; }); // Debug Bar uses the panel class name as part of its link and container IDs. This means we can // end up with multiple identical IDs if more than one plugin uses the update checker library. // Fix it by replacing the class name with the plugin slug. var panels = $('#debug-menu-targets').find('.puc-debug-bar-panel-v5'); panels.each(function() { var panel = $(this); var uid = panel.data('uid'); var target = panel.closest('.debug-menu-target'); //Change the panel wrapper ID. target.attr('id', 'debug-menu-target-puc-' + uid); //Change the menu link ID as well and point it at the new target ID. $('#debug-bar-menu').find('.puc-debug-menu-link-' + uid) .closest('.debug-menu-link') .attr('id', 'debug-menu-link-puc-' + uid) .attr('href', '#' + target.attr('id')); }); });