WordPress.org

Make WordPress Core

Ticket #24878: 24878.2.diff

File 24878.2.diff, 3.7 KB (added by wonderboymusic, 4 years ago)
  • src/wp-admin/widgets.php

     
    8989        if ( 'wp_inactive_widgets' == $sidebar_id )
    9090                continue;
    9191
    92         if ( !isset( $wp_registered_sidebars[ $sidebar_id ] ) ) {
     92        if ( ! is_registered_sidebar( $sidebar_id ) ) {
    9393                if ( ! empty( $widgets ) ) { // register the inactive_widgets area as sidebar
    9494                        register_sidebar(array(
    9595                                'name' => __( 'Inactive Sidebar (not used)' ),
     
    155155
    156156                /**
    157157                 * Fires immediately after a widget has been marked for deletion.
    158                  * 
     158                 *
    159159                 * @since 4.4.0
    160160                 *
    161161                 * @param string $widget_id  ID of the widget marked for deletion.
  • src/wp-includes/class-wp-customize-widgets.php

     
    365365                                $sidebar_widget_ids = array();
    366366                        }
    367367
    368                         $is_registered_sidebar = isset( $wp_registered_sidebars[ $sidebar_id ] );
     368                        $is_registered_sidebar = is_registered_sidebar( $sidebar_id );
    369369                        $is_inactive_widgets   = ( 'wp_inactive_widgets' === $sidebar_id );
    370370                        $is_active_sidebar     = ( $is_registered_sidebar && ! $is_inactive_widgets );
    371371
     
    11021102         * @since 3.9.0
    11031103         * @access public
    11041104         *
    1105          * @global array $wp_registered_sidebars
    1106          *
    11071105         * @param bool   $is_active  Whether the sidebar is active.
    11081106         * @param string $sidebar_id Sidebar ID.
    11091107         * @return bool
    11101108         */
    11111109        public function tally_sidebars_via_is_active_sidebar_calls( $is_active, $sidebar_id ) {
    1112                 if ( isset( $GLOBALS['wp_registered_sidebars'][$sidebar_id] ) ) {
     1110                if ( is_registered_sidebar( $sidebar_id ) ) {
    11131111                        $this->rendered_sidebars[] = $sidebar_id;
    11141112                }
    11151113                /*
     
    11301128         * @since 3.9.0
    11311129         * @access public
    11321130         *
    1133          * @global array $wp_registered_sidebars
    1134          *
    11351131         * @param bool   $has_widgets Whether the current sidebar has widgets.
    11361132         * @param string $sidebar_id  Sidebar ID.
    11371133         * @return bool
    11381134         */
    11391135        public function tally_sidebars_via_dynamic_sidebar_calls( $has_widgets, $sidebar_id ) {
    1140                 if ( isset( $GLOBALS['wp_registered_sidebars'][$sidebar_id] ) ) {
     1136                if ( is_registered_sidebar( $sidebar_id ) ) {
    11411137                        $this->rendered_sidebars[] = $sidebar_id;
    11421138                }
    11431139
  • src/wp-includes/widget-functions.php

     
    9696                if ( isset($args['id']) ) {
    9797                        $_args['id'] = $args['id'];
    9898                        $n = 2; // Start at -2 for conflicting custom ID's
    99                         while ( isset($wp_registered_sidebars[$_args['id']]) )
     99                        while ( is_registered_sidebar( $_args['id'] ) ) {
    100100                                $_args['id'] = $args['id'] . '-' . $n++;
     101                        }
    101102                } else {
    102                         $n = count($wp_registered_sidebars);
     103                        $n = count( $wp_registered_sidebars );
    103104                        do {
    104105                                $_args['id'] = 'sidebar-' . ++$n;
    105                         } while ( isset($wp_registered_sidebars[$_args['id']]) );
     106                        } while ( is_registered_sidebar( $_args['id'] ) );
    106107                }
    107108                register_sidebar($_args);
    108109        }
     
    206207}
    207208
    208209/**
     210 * Checks if a sidebar is registered.
     211 *
     212 * @since 4.4.0
     213 *
     214 * @global array $wp_registered_sidebars Registered sidebars.
     215 *
     216 * @param string $name The ID of the sidebar when it was added.
     217 *
     218 * @return bool True if the sidebar is registered, false otherwise.
     219 */
     220function is_registered_sidebar( $name ) {
     221        global $wp_registered_sidebars;
     222        return isset( $wp_registered_sidebars[ $name ] );
     223}
     224
     225/**
    209226 * Register an instance of a widget.
    210227 *
    211228 * The default widget option is 'classname' that can be overridden.