WordPress.org

Make WordPress Core

Ticket #10956: is_active_sidebar.diff

File is_active_sidebar.diff, 1001 bytes (added by Frumph, 6 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