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
This commit is contained in:
Andrew Ozz 2011-11-18 07:00:26 +00:00
parent 1cc6c3cfe8
commit 0f3de5ede9

View File

@ -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 ] );
}
}
}