WordPress.org

Make WordPress Core

Ticket #9695: 9695-wp_convert_widget_settings.diff

File 9695-wp_convert_widget_settings.diff, 947 bytes (added by Denis-de-Bernardy, 5 years ago)
  • wp-includes/widgets.php

     
    10341034        } 
    10351035 
    10361036        if ( $single ) { 
     1037                $found = false; 
    10371038                $settings = array( 2 => $settings ); 
    10381039 
    10391040                // If loading from the front page, update sidebar in memory but don't save to options 
     
    10461047                } 
    10471048                 
    10481049                foreach ( (array) $sidebars_widgets as $index => $sidebar ) { 
     1050                        if ( $index == 'wp_inactive_widgets' ) 
     1051                                continue; 
     1052 
    10491053                        if ( is_array($sidebar) ) { 
    10501054                                foreach ( $sidebar as $i => $name ) { 
    10511055                                        if ( $base_name == $name ) { 
    10521056                                                $sidebars_widgets[$index][$i] = "$name-2"; 
     1057                                                $found = true; 
    10531058                                                break 2; 
    10541059                                        } 
    10551060                                } 
    10561061                        } 
    10571062                } 
    1058  
     1063                 
     1064                // don't register unfound, single widgets 
     1065                if ( !$found ) 
     1066                        $settings = array(); 
     1067                 
    10591068                if ( is_admin() ) 
    10601069                        update_option('sidebars_widgets', $sidebars_widgets); 
    10611070        }