equal
deleted
inserted
replaced
124 |
124 |
125 // Private Functions. Don't worry about these. |
125 // Private Functions. Don't worry about these. |
126 |
126 |
127 function _register() { |
127 function _register() { |
128 $settings = $this->get_settings(); |
128 $settings = $this->get_settings(); |
129 |
129 $empty = true; |
130 if ( empty($settings) ) { |
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 ) { |
131 // If there are none, we register the widget's existance with a |
142 // If there are none, we register the widget's existance with a |
132 // generic template |
143 // generic template |
133 $this->_set(1); |
144 $this->_set(1); |
134 $this->_register_one(); |
145 $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 } |
|
142 } |
146 } |
143 } |
147 } |
144 |
148 |
145 function _set($number) { |
149 function _set($number) { |
146 $this->number = $number; |
150 $this->number = $number; |
542 $i = count($wp_registered_sidebars) + 1; |
546 $i = count($wp_registered_sidebars) + 1; |
543 |
547 |
544 $defaults = array( |
548 $defaults = array( |
545 'name' => sprintf(__('Sidebar %d'), $i ), |
549 'name' => sprintf(__('Sidebar %d'), $i ), |
546 'id' => "sidebar-$i", |
550 'id' => "sidebar-$i", |
|
551 'description' => '', |
547 'before_widget' => '<li id="%1$s" class="widget %2$s">', |
552 'before_widget' => '<li id="%1$s" class="widget %2$s">', |
548 'after_widget' => "</li>\n", |
553 'after_widget' => "</li>\n", |
549 'before_title' => '<h2 class="widgettitle">', |
554 'before_title' => '<h2 class="widgettitle">', |
550 'after_title' => "</h2>\n", |
555 'after_title' => "</h2>\n", |
551 ); |
556 ); |
649 if ( isset($wp_registered_widgets[$id]['description']) ) |
654 if ( isset($wp_registered_widgets[$id]['description']) ) |
650 return esc_html( $wp_registered_widgets[$id]['description'] ); |
655 return esc_html( $wp_registered_widgets[$id]['description'] ); |
651 } |
656 } |
652 |
657 |
653 /** |
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 */ |
|
669 function 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 |
|
679 |
|
680 /** |
654 * Remove widget from sidebar. |
681 * Remove widget from sidebar. |
655 * |
682 * |
656 * @since 2.2.0 |
683 * @since 2.2.0 |
657 * |
684 * |
658 * @param int|string $id Widget ID. |
685 * @param int|string $id Widget ID. |
968 $sidebars_widgets = $_wp_sidebars_widgets; |
995 $sidebars_widgets = $_wp_sidebars_widgets; |
969 } else { |
996 } else { |
970 $sidebars_widgets = get_option('sidebars_widgets', array()); |
997 $sidebars_widgets = get_option('sidebars_widgets', array()); |
971 $_sidebars_widgets = array(); |
998 $_sidebars_widgets = array(); |
972 |
999 |
973 if ( isset($sidebars_widgets['wp_inactive_widgets']) ) |
1000 if ( isset($sidebars_widgets['wp_inactive_widgets']) || empty($sidebars_widgets) ) |
974 $sidebars_widgets['array_version'] = 3; |
1001 $sidebars_widgets['array_version'] = 3; |
975 elseif ( !isset($sidebars_widgets['array_version']) ) |
1002 elseif ( !isset($sidebars_widgets['array_version']) ) |
976 $sidebars_widgets['array_version'] = 1; |
1003 $sidebars_widgets['array_version'] = 1; |
977 |
1004 |
978 switch ( $sidebars_widgets['array_version'] ) { |
1005 switch ( $sidebars_widgets['array_version'] ) { |