Ticket #10300: 10300.2.patch
| File 10300.2.patch, 1.7 KB (added by , 17 years ago) |
|---|
-
wp-includes/widgets.php
967 967 if ( empty($_wp_sidebars_widgets) ) 968 968 $sidebars_widgets = get_option('sidebars_widgets', array()); 969 969 else 970 $sidebars_widgets = &$_wp_sidebars_widgets;970 return $_wp_sidebars_widgets; 971 971 } 972 972 $_sidebars_widgets = array(); 973 973 … … 1086 1086 * @return array 1087 1087 */ 1088 1088 function wp_convert_widget_settings($base_name, $option_name, $settings) { 1089 global $_wp_sidebars_widgets;1090 1089 // This test may need expanding. 1091 $single = false;1090 $single = $changed = false; 1092 1091 if ( empty($settings) ) { 1093 1092 $single = true; 1094 1093 } else { … … 1107 1106 1108 1107 // If loading from the front page, update sidebar in memory but don't save to options 1109 1108 if ( is_admin() ) { 1110 $sidebars_widgets = get_option('sidebars_widgets');1109 $sidebars_widgets = wp_get_sidebars_widgets(); 1111 1110 } else { 1112 1111 if ( empty($GLOBALS['_wp_sidebars_widgets']) ) 1113 $GLOBALS['_wp_sidebars_widgets'] = get_option('sidebars_widgets');1112 $GLOBALS['_wp_sidebars_widgets'] = wp_get_sidebars_widgets(false); 1114 1113 $sidebars_widgets = &$GLOBALS['_wp_sidebars_widgets']; 1115 1114 } 1116 1115 … … 1119 1118 foreach ( $sidebar as $i => $name ) { 1120 1119 if ( $base_name == $name ) { 1121 1120 $sidebars_widgets[$index][$i] = "$name-2"; 1121 $changed = true; 1122 1122 break 2; 1123 1123 } 1124 1124 } 1125 1125 } 1126 1126 } 1127 1127 1128 if ( is_admin() ) 1129 update_option('sidebars_widgets', $sidebars_widgets); 1128 if ( is_admin() && $changed ) { 1129 $order = $sidebars_widgets; 1130 $order['array_version'] = 3; 1131 update_option('sidebars_widgets', $order); 1132 } 1130 1133 } 1131 1134 1132 1135 $settings['_multiwidget'] = 1;