From 2d6d3c748a8238c88b0605f4953da3afdb7d1192 Mon Sep 17 00:00:00 2001 From: azaozz 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: http://svn.automattic.com/wordpress/trunk@19334 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- 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 0c6b29aaf..e25c6e840 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 ] ); + } } }