Ticket #26876: 26876.3.diff
| File 26876.3.diff, 1.8 KB (added by , 11 years ago) |
|---|
-
src/wp-includes/class-wp-widget.php
522 522 523 523 $settings = get_option( $this->option_name ); 524 524 525 if ( false === $settings && isset( $this->alt_option_name ) ) { 526 $settings = get_option( $this->alt_option_name ); 525 if ( false === $settings ) { 526 if ( isset( $this->alt_option_name ) ) { 527 $settings = get_option( $this->alt_option_name ); 528 } else { 529 // Save an option so it can be autoloaded next time. 530 $this->save_settings( array() ); 531 } 527 532 } 528 533 529 534 if ( ! is_array( $settings ) && ! ( $settings instanceof ArrayObject || $settings instanceof ArrayIterator ) ) { -
tests/phpunit/tests/widgets.php
233 233 $this->assertArrayHasKey( 'title', $instance ); 234 234 unset( $option_value['_multiwidget'] ); 235 235 236 // Pretend this widget is new. 237 delete_option( 'widget_nav_menu' ); 238 $never_used = get_option( 'widget_nav_menu' ); 239 $this->assertFalse( $never_used ); 240 236 241 wp_widgets_init(); 237 242 $wp_widget_search = $wp_registered_widgets['search-2']['callback'][0]; 238 243 … … 243 248 foreach ( $option_value as $widget_number => $instance ) { 244 249 $this->assertEquals( $settings[ $widget_number ], $option_value[ $widget_number ] ); 245 250 } 251 252 // After widgets_init(), get_settings() should create the widget option. 253 $never_used = get_option( 'widget_nav_menu' ); 254 $this->assertEquals( 1, $never_used['_multiwidget'] ); 255 $this->assertArrayNotHasKey( 0, $never_used ); 246 256 } 247 257 248 258 /**