WordPress.org

Make WordPress Core

Ticket #10956: is_active_sidebar.diff

File is_active_sidebar.diff, 1001 bytes (added by Frumph, 9 years ago)

is_sidebar_active diff

  • .php

    old new  
    934934 * @return bool true if the sidebar is in use, false otherwise.
    935935 */
    936936function is_active_sidebar( $index ) {
    937         $index = ( is_int($index) ) ? "sidebar-$index" : sanitize_title($index);
    938         $sidebars_widgets = wp_get_sidebars_widgets();
    939         if ( isset($sidebars_widgets[$index]) && !empty($sidebars_widgets[$index]) )
    940                 return true;
    941 
     937        global $wp_registered_sidebars, $_wp_sidebars_widgets;
     938        if ( is_int($index) ) {
     939                if (!empty($_wp_sidebars_widgets[sanitize_title("sidebar-$index")]) )
     940                        return true;
     941        } else {
     942                $i = 1;
     943                foreach ( $wp_registered_sidebars as $sidebar => $registered_sidebar ) {
     944                        if ( $index == $registered_sidebar['name'] && !empty($_wp_sidebars_widgets[sanitize_title("sidebar-$i")]) )
     945                                return true;
     946                        $i++;
     947                }
     948        }
    942949        return false;
    943950}
    944951