Eine auf WordPress spezialiserte Suchmaschine für Entwickler und Theme-Autoren



wp_convert_widget_settings ›

Seit2.8.0
Veraltetn/v
wp_convert_widget_settings ( $base_name, $option_name, $settings )
Parameter: (3)
  • (string) $base_name
    Erforderlich: Ja
  • (string) $option_name
    Erforderlich: Ja
  • (array) $settings
    Erforderlich: Ja
Gibt zurück:
  • (array)
Definiert in:
Codex:

Convert the widget settings from single to multi-widget format.



Quellcode

function wp_convert_widget_settings( $base_name, $option_name, $settings ) {
	// This test may need expanding.
	$single = $changed = false;
	if ( empty( $settings ) ) {
		$single = true;
	} else {
		foreach ( array_keys( $settings ) as $number ) {
			if ( 'number' == $number ) {
				continue;
			}
			if ( ! is_numeric( $number ) ) {
				$single = true;
				break;
			}
		}
	}

	if ( $single ) {
		$settings = array( 2 => $settings );

		// If loading from the front page, update sidebar in memory but don't save to options
		if ( is_admin() ) {
			$sidebars_widgets = get_option( 'sidebars_widgets' );
		} else {
			if ( empty( $GLOBALS['_wp_sidebars_widgets'] ) ) {
				$GLOBALS['_wp_sidebars_widgets'] = get_option( 'sidebars_widgets', array() );
			}
			$sidebars_widgets = &$GLOBALS['_wp_sidebars_widgets'];
		}

		foreach ( (array) $sidebars_widgets as $index => $sidebar ) {
			if ( is_array( $sidebar ) ) {
				foreach ( $sidebar as $i => $name ) {
					if ( $base_name == $name ) {
						$sidebars_widgets[ $index ][ $i ] = "$name-2";
						$changed                          = true;
						break 2;
					}
				}
			}
		}

		if ( is_admin() && $changed ) {
			update_option( 'sidebars_widgets', $sidebars_widgets );
		}
	}

	$settings['_multiwidget'] = 1;
	if ( is_admin() ) {
		update_option( $option_name, $settings );
	}

	return $settings;
}