WordPress.org

Make WordPress Core

Ticket #11836: register_sidebar.diff

File register_sidebar.diff, 893 bytes (added by scribu, 5 years ago)
  • wp-includes/widgets.php

     
    489489                        $_args['name'] = isset($args['name']) ? $args['name'] : __('Sidebar'); 
    490490                } 
    491491 
    492                 if (isset($args['id'])) { 
    493                         $_args['id'] = $args['id']; 
    494                 } else { 
     492                if ( !isset($args['id']) ) { 
    495493                        $n = count($wp_registered_sidebars); 
    496494                        do { 
    497495                                $n++; 
     
    540538function register_sidebar($args = array()) { 
    541539        global $wp_registered_sidebars; 
    542540 
    543         if ( is_string($args) ) 
    544                 parse_str($args, $args); 
    545  
    546541        $i = count($wp_registered_sidebars) + 1; 
    547542 
    548543        $defaults = array( 
     
    555550                'after_title' => "</h2>\n", 
    556551        ); 
    557552 
    558         $sidebar = array_merge($defaults, (array) $args); 
     553        $sidebar = wp_parse_args($args, $defaults); 
    559554 
    560555        $wp_registered_sidebars[$sidebar['id']] = $sidebar; 
    561556