diff --git a/wp-includes/version.php b/wp-includes/version.php index 8a3216045f..b15415ce37 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.9-alpha-60731'; +$wp_version = '6.9-alpha-60732'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. diff --git a/wp-includes/widgets.php b/wp-includes/widgets.php index 6bc1ffc6f7..5bf9d16b31 100644 --- a/wp-includes/widgets.php +++ b/wp-includes/widgets.php @@ -1350,6 +1350,13 @@ function retrieve_widgets( $theme_changed = false ) { $sidebars_widgets = _wp_remove_unregistered_widgets( $sidebars_widgets, $registered_widgets_ids ); $sidebars_widgets = wp_map_sidebars_widgets( $sidebars_widgets ); + // Replace non-array values inside the array with an empty array. + foreach ( $sidebars_widgets as $key => $value ) { + if ( ! is_array( $value ) ) { + $sidebars_widgets[ $key ] = array(); + } + } + // Find hidden/lost multi-widget instances. $shown_widgets = array_merge( ...array_values( $sidebars_widgets ) ); $lost_widgets = array_diff( $registered_widgets_ids, $shown_widgets ); @@ -1511,6 +1518,13 @@ function wp_map_sidebars_widgets( $existing_sidebars_widgets ) { $old_sidebars_widgets = _wp_remove_unregistered_widgets( $old_sidebars_widgets ); + // Replace non-array values inside the array with an empty array. + foreach ( $new_sidebars_widgets as $key => $value ) { + if ( ! is_array( $value ) ) { + $new_sidebars_widgets[ $key ] = array(); + } + } + if ( ! empty( $old_sidebars_widgets ) ) { // Go through each remaining sidebar...