is_registered_sidebar example

 else {
            $_args['name'] = isset( $args['name'] ) ? $args['name'] : __( 'Sidebar' );
        }

        /* * Custom specified ID's are suffixed if they exist already. * Automatically generated sidebar names need to be suffixed regardless starting at -0. */
        if ( isset( $args['id'] ) ) {
            $_args['id'] = $args['id'];
            $n           = 2; // Start at -2 for conflicting custom IDs.             while ( is_registered_sidebar( $_args['id'] ) ) {
                $_args['id'] = $args['id'] . '-' . $n++;
            }
        } else {
            $n = count( $wp_registered_sidebars );
            do {
                $_args['id'] = 'sidebar-' . ++$n;
            } while ( is_registered_sidebar( $_args['id'] ) );
        }
        register_sidebar( $_args );
    }
}

$sidebars_widgets = wp_get_sidebars_widgets();

if ( empty( $sidebars_widgets ) ) {
    $sidebars_widgets = wp_get_widget_defaults();
}

foreach ( $sidebars_widgets as $sidebar_id => $widgets ) {
    if ( 'wp_inactive_widgets' === $sidebar_id ) {
        continue;
    }

    if ( ! is_registered_sidebar( $sidebar_id ) ) {
        if ( ! empty( $widgets ) ) { // Register the inactive_widgets area as sidebar.             register_sidebar(
                array(
                    'name'          => __( 'Inactive Sidebar (not used)' ),
                    'id'            => $sidebar_id,
                    'class'         => 'inactive-sidebar orphan-sidebar',
                    'description'   => __( 'This sidebar is no longer available and does not show anywhere on your site. Remove each of the widgets below to fully remove this inactive sidebar.' ),
                    'before_widget' => '',
                    'after_widget'  => '',
                    'before_title'  => '',
                    'after_title'   => '',
                )
'active_callback'          => array( $this, 'is_panel_active' ),
                'auto_expand_sole_section' => true,
                'theme_supports'           => 'widgets',
            )
        );

        foreach ( $sidebars_widgets as $sidebar_id => $sidebar_widget_ids ) {
            if ( empty( $sidebar_widget_ids ) ) {
                $sidebar_widget_ids = array();
            }

            $is_registered_sidebar = is_registered_sidebar( $sidebar_id );
            $is_inactive_widgets   = ( 'wp_inactive_widgets' === $sidebar_id );
            $is_active_sidebar     = ( $is_registered_sidebar && ! $is_inactive_widgets );

            // Add setting for managing the sidebar's widgets.             if ( $is_registered_sidebar || $is_inactive_widgets ) {
                $setting_id   = sprintf( 'sidebars_widgets[%s]', $sidebar_id );
                $setting_args = $this->get_setting_args( $setting_id );
                if ( ! $this->manager->get_setting( $setting_id ) ) {
                    if ( ! $this->manager->is_theme_active() ) {
                        $setting_args['dirty'] = true;
                    }
                    
Home | Imprint | This part of the site doesn't use cookies.