Ticket #18598: 18598-2.diff

File 18598-2.diff, 1.3 KB (added by lancewillett, 21 months ago)
  • wp-includes/widgets.php

     
    998998        if ( $deprecated !== true ) 
    999999                _deprecated_argument( __FUNCTION__, '2.8.1' ); 
    10001000 
    1001         global $wp_registered_widgets, $wp_registered_sidebars, $_wp_sidebars_widgets; 
     1001        global $wp_registered_widgets, $wp_registered_sidebars, $_wp_sidebars_widgets, $sidebars_widgets; 
    10021002 
    10031003        // If loading from front page, consult $_wp_sidebars_widgets rather than options 
    10041004        // to see if wp_convert_widget_settings() has made manipulations in memory. 
     
    12191219                $_sidebars_widgets = $old_sidebars_widgets['data']; 
    12201220                remove_theme_mod( 'sidebars_widgets' ); 
    12211221        } else { 
    1222                 if ( ! is_array( $sidebars_widgets ) ) 
    1223                         $sidebars_widgets = wp_get_sidebars_widgets(); 
    1224  
    12251222                $sidebars = array_keys($wp_registered_sidebars); 
    12261223 
    12271224                unset( $sidebars_widgets['array_version'] ); 
     
    12341231                        return; 
    12351232 
    12361233                $_sidebars_widgets = array( 
    1237                         'wp_inactive_widgets' => $sidebars_widgets['wp_inactive_widgets'] 
     1234                        'wp_inactive_widgets' => !empty( $sidebars_widgets['wp_inactive_widgets'] ) ? $sidebars_widgets['wp_inactive_widgets'] : array() 
    12381235                ); 
    12391236 
    12401237                unset( $sidebars_widgets['wp_inactive_widgets'] );