Make WordPress Core


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/widgets.php

    r11824 r12249  
    127127    function _register() {
    128128        $settings = $this->get_settings();
    129 
    130         if ( empty($settings) ) {
     129        $empty = true;
     130
     131        if ( is_array($settings) ) {
     132            foreach ( array_keys($settings) as $number ) {
     133                if ( is_numeric($number) ) {
     134                    $this->_set($number);
     135                    $this->_register_one($number);
     136                    $empty = false;
     137                }
     138            }
     139        }
     140
     141        if ( $empty ) {
    131142            // If there are none, we register the widget's existance with a
    132143            // generic template
    133144            $this->_set(1);
    134145            $this->_register_one();
    135         } elseif ( is_array($settings) ) {
    136             foreach ( array_keys($settings) as $number ) {
    137                 if ( is_numeric($number) ) {
    138                     $this->_set($number);
    139                     $this->_register_one($number);
    140                 }
    141             }
    142146        }
    143147    }
     
    545549        'name' => sprintf(__('Sidebar %d'), $i ),
    546550        'id' => "sidebar-$i",
     551        'description' => '',
    547552        'before_widget' => '<li id="%1$s" class="widget %2$s">',
    548553        'after_widget' => "</li>\n",
     
    650655        return esc_html( $wp_registered_widgets[$id]['description'] );
    651656}
     657
     658/**
     659 * Retrieve description for a sidebar.
     660 *
     661 * When registering sidebars a 'description' parameter can be included that
     662 * describes the sidebar for display on the widget administration panel.
     663 *
     664 * @since 2.9.0
     665 *
     666 * @param int|string $id sidebar ID.
     667 * @return string Sidebar description, if available. Null on failure to retrieve description.
     668 */
     669function wp_sidebar_description( $id ) {
     670    if ( !is_scalar($id) )
     671        return;
     672
     673    global $wp_registered_sidebars;
     674
     675    if ( isset($wp_registered_sidebars[$id]['description']) )
     676        return esc_html( $wp_registered_sidebars[$id]['description'] );
     677}
     678
    652679
    653680/**
Note: See TracChangeset for help on using the changeset viewer.