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, 9 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        }