用于删除非活动窗口小部件的Ajax处理程序。

原型

wp_ajax_delete_inactive_widgets()

源文件

路径:wp-admin/includes/ajax-actions.php

<?php
...
function wp_ajax_delete_inactive_widgets() {
	check_ajax_referer( 'remove-inactive-widgets', 'removeinactivewidgets' );
	if ( ! current_user_can( 'edit_theme_options' ) ) {
		wp_die( -1 );
	}
	unset( $_POST['removeinactivewidgets'], $_POST['action'] );
	/** This action is documented in wp-admin/includes/ajax-actions.php */
	do_action( 'load-widgets.php' );
	/** This action is documented in wp-admin/includes/ajax-actions.php */
	do_action( 'widgets.php' );
	/** This action is documented in wp-admin/widgets.php */
	do_action( 'sidebar_admin_setup' );
	$sidebars_widgets = wp_get_sidebars_widgets();
	foreach ( $sidebars_widgets['wp_inactive_widgets'] as $key => $widget_id ) {
		$pieces = explode( '-', $widget_id );
		$multi_number = array_pop( $pieces );
		$id_base = implode( '-', $pieces );
		$widget = get_option( 'widget_' . $id_base );
		unset( $widget[$multi_number] );
		update_option( 'widget_' . $id_base, $widget );
		unset( $sidebars_widgets['wp_inactive_widgets'][$key] );
	}
	wp_set_sidebars_widgets( $sidebars_widgets );
	wp_die();
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/wp_ajax_delete_inactive_widgets/