WordPress.org

Make WordPress Core

Ticket #10954: 10954.2.patch

File 10954.2.patch, 974 bytes (added by hakre, 9 years ago)

Small code improvement this time.

  • wp-includes/widgets.php

    ### Eclipse Workspace Patch 1.0
    #P wordpress-trunk
     
    133133                        $this->_set(1);
    134134                        $this->_register_one();
    135135                } elseif ( is_array($settings) ) {
     136                        // If there is an array, first assume it contains a numerically
     137                        // indexed set of options but that's just an assumption
     138                        $count = 0;
    136139                        foreach ( array_keys($settings) as $number ) {
    137140                                if ( is_numeric($number) ) {
     141                                        $count++;
    138142                                        $this->_set($number);
    139143                                        $this->_register_one($number);
    140144                                }
     145                        }                       
     146                        // fallback in case the assumption what the array was for
     147                        // was wrong
     148                        if ( 0 == $count ) {
     149                                // If there are none, we register the widget's existance with a
     150                                // generic template (see if ( empty($settings) ) )
     151                                $this->_set(1);
     152                                $this->_register_one();
    141153                        }
    142154                }
    143155        }