Ticket #19159: 19159.5.diff
| File 19159.5.diff, 5.6 KB (added by , 10 years ago) |
|---|
-
wp-admin/admin-ajax.php
56 56 'hidden-columns', 'update-welcome-panel', 'menu-get-metabox', 'wp-link-ajax', 57 57 'menu-locations-save', 'menu-quick-search', 'meta-box-order', 'get-permalink', 58 58 'sample-permalink', 'inline-save', 'inline-save-tax', 'find_posts', 'widgets-order', 59 'save-widget', ' set-post-thumbnail', 'date_format', 'time_format',59 'save-widget', 'delete-inactive-widgets', 'set-post-thumbnail', 'date_format', 'time_format', 60 60 'wp-remove-post-lock', 'dismiss-wp-pointer', 'upload-attachment', 'get-attachment', 61 61 'query-attachments', 'save-attachment', 'save-attachment-compat', 'send-link-to-editor', 62 62 'send-attachment-to-editor', 'save-attachment-order', 'heartbeat', 'get-revision-diffs', -
wp-admin/css/widgets.css
203 203 margin-top: 40px; 204 204 } 205 205 206 #widgets-left .inactive-sidebar .remove-inactive-widgets { 207 clear: both; 208 } 209 206 210 /* Not sure what this is for... */ 207 211 div#widgets-left .inactive-sidebar .widget.expanded { 208 212 left: auto; … … 346 350 347 351 .js .widgets-holder-wrap.closed .widget, 348 352 .js .widgets-holder-wrap.closed .sidebar-description, 353 .js .widgets-holder-wrap.closed .remove-inactive-widgets, 349 354 .js .closed br.clear { 350 355 display: none; 351 356 } -
wp-admin/includes/ajax-actions.php
1928 1928 $wp_customize->widgets->wp_ajax_update_widget(); 1929 1929 } 1930 1930 1931 function wp_ajax_delete_inactive_widgets() { 1932 check_ajax_referer( 'remove-inactive-widgets', 'removeinactivewidgets' ); 1933 1934 if ( ! current_user_can( 'edit_theme_options' ) ) 1935 wp_die( -1 ); 1936 1937 unset( $_POST['removeinactivewidgets'], $_POST['action'] ); 1938 1939 do_action( 'load-widgets.php' ); 1940 do_action( 'widgets.php' ); 1941 do_action( 'sidebar_admin_setup' ); 1942 1943 $sidebars_widgets = wp_get_sidebars_widgets(); 1944 1945 foreach ( $sidebars_widgets['wp_inactive_widgets'] as $key => $widget_id ) { 1946 $pieces = explode( '-', $widget_id ); 1947 $multi_number = array_pop( $pieces ); 1948 $id_base = implode( '-', $pieces ); 1949 $widget = get_option( 'widget_' . $id_base ); 1950 unset( $widget[$multi_number] ); 1951 update_option( 'widget_' . $id_base, $widget ); 1952 unset( $sidebars_widgets['wp_inactive_widgets'][$key] ); 1953 } 1954 1955 wp_set_sidebars_widgets( $sidebars_widgets ); 1956 1957 wp_die(); 1958 } 1959 1931 1960 /** 1932 1961 * Ajax handler for uploading attachments 1933 1962 * -
wp-admin/js/widgets.js
80 80 widget.removeClass( 'open' ); 81 81 wpWidgets.close( widget ); 82 82 e.preventDefault(); 83 } else if ( target.attr( 'id' ) == 'inactive-widgets-control-remove' ) { 84 wpWidgets.removeInactiveWidgets(); 85 e.preventDefault(); 83 86 } 84 87 }); 85 88 … … 446 449 }); 447 450 }, 448 451 452 removeInactiveWidgets : function() { 453 var sb = $( '.inactive-sidebar' ), a, data; 454 455 $( '.spinner', sb ).addClass( 'is-active' ); 456 457 a = { 458 action : 'delete-inactive-widgets', 459 removeinactivewidgets : $( '#_wpnonce_remove_inactive_widgets' ).val() 460 }; 461 462 data = $.param( a ); 463 464 $.post( ajaxurl, data, function() { 465 $( '.spinner', sb ).removeClass(' is-active' ); 466 $( '#wp_inactive_widgets .widget' ).remove(); 467 } ); 468 }, 469 449 470 appendTitle : function(widget) { 450 471 var title = $('input[id*="-title"]', widget).val() || ''; 451 472 -
wp-admin/widgets.php
183 183 exit; 184 184 } 185 185 186 // Remove inactive widgets without js 187 if ( isset( $_POST['removeinactivewidgets'] ) ) { 188 check_admin_referer( 'remove-inactive-widgets', '_wpnonce_remove_inactive_widgets' ); 189 190 if ( $_POST['removeinactivewidgets'] ) { 191 foreach ( $sidebars_widgets['wp_inactive_widgets'] as $key => $widget_id ) { 192 $pieces = explode( '-', $widget_id ); 193 $multi_number = array_pop( $pieces ); 194 $id_base = implode( '-', $pieces ); 195 $widget = get_option( 'widget_' . $id_base ); 196 unset( $widget[$multi_number] ); 197 update_option( 'widget_' . $id_base, $widget ); 198 unset( $sidebars_widgets['wp_inactive_widgets'][$key] ); 199 } 200 201 wp_set_sidebars_widgets( $sidebars_widgets ); 202 } 203 204 wp_redirect( admin_url( 'widgets.php?message=0' ) ); 205 exit; 206 } 207 186 208 // Output the widget form without js 187 209 if ( isset($_GET['editwidget']) && $_GET['editwidget'] ) { 188 210 $widget_id = $_GET['editwidget']; … … 377 399 <div class="<?php echo esc_attr( $wrap_class ); ?>"> 378 400 <div class="widget-holder inactive"> 379 401 <?php wp_list_widget_controls( $registered_sidebar['id'], $registered_sidebar['name'] ); ?> 380 <div class="clear"></div> 402 <div class="remove-inactive-widgets"> 403 <form action="" method="post"> 404 <p><?php submit_button( __( 'Clear Inactive Widgets' ), 'delete', 'removeinactivewidgets', false, array( 'id' => 'inactive-widgets-control-remove' ) ); ?></p> 405 <p class="description"><?php _e( 'This will clear all items from the inactive widgets list. You will not be able to restore any customizations.' ); ?></p> 406 <?php wp_nonce_field( 'remove-inactive-widgets', '_wpnonce_remove_inactive_widgets' ); ?> 407 </form> 408 </div> 381 409 </div> 382 410 </div> 383 411 <?php