From 0f3de5ede99cb2e768f2db4a22fd9abcdad31346 Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Fri, 18 Nov 2011 07:00:26 +0000 Subject: [PATCH] Prevent errors in assigning widgets to sidebars for themes with dynamic sidebars, props batmoo, fixes #19274 git-svn-id: https://develop.svn.wordpress.org/trunk@19334 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-admin/widgets.php | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/wp-admin/widgets.php b/wp-admin/widgets.php index 0c6b29aafb..e25c6e840e 100644 --- a/wp-admin/widgets.php +++ b/wp-admin/widgets.php @@ -62,18 +62,21 @@ foreach ( $sidebars_widgets as $sidebar_id => $widgets ) { if ( 'wp_inactive_widgets' == $sidebar_id ) continue; - if ( empty( $wp_registered_sidebars[ $sidebar_id ] ) && ! empty( $widgets ) ) { - // register the inactive_widgets area as sidebar - register_sidebar(array( - 'name' => __( 'Inactive Sidebar (from previous theme)' ), - 'id' => $sidebar_id, - 'class' => 'inactive-sidebar orphan-sidebar', - 'description' => __( 'This is a left over sidebar from an old theme and does not show anywhere on your site' ), - 'before_widget' => '', - 'after_widget' => '', - 'before_title' => '', - 'after_title' => '', - )); + if ( !isset( $wp_registered_sidebars[ $sidebar_id ] ) ) { + if ( ! empty( $widgets ) ) { // register the inactive_widgets area as sidebar + register_sidebar(array( + 'name' => __( 'Inactive Sidebar (from previous theme)' ), + 'id' => $sidebar_id, + 'class' => 'inactive-sidebar orphan-sidebar', + 'description' => __( 'This is a left over sidebar from an old theme and does not show anywhere on your site' ), + 'before_widget' => '', + 'after_widget' => '', + 'before_title' => '', + 'after_title' => '', + )); + } else { + unset( $sidebars_widgets[ $sidebar_id ] ); + } } }