How can I delete all inactive widgets?

You should do it with after_setup_theme action:

function remove_inactive_widgets() {
     $sidebars_widgets = get_option( 'sidebars_widgets' );
     $sidebars_widgets['wp_inactive_widgets'] = array();
     update_option( 'sidebars_widgets', $sidebars_widgets );
}
add_action( 'after_setup_theme', 'remove_inactive_widgets' );

Leave a Comment