Changeset 7726
- Timestamp:
- 04/17/08 20:36:59 (7 months ago)
- Files:
-
- trunk/wp-admin/includes/widgets.php (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/wp-admin/includes/widgets.php
r7469 r7726 22 22 $already_shown = array(); 23 23 foreach ( $wp_registered_widgets as $name => $widget ) : 24 if ( in_array( $widget['callback'], $already_shown ) ) // We already showed this multi-widget24 if ( 'all' == $show && in_array( $widget['callback'], $already_shown ) ) // We already showed this multi-widget 25 25 continue; 26 26 … … 48 48 49 49 ob_start(); 50 $args = wp_list_widget_controls_dynamic_sidebar( array( 0 => array( 'widget_id' => $widget['id'], 'widget_name' => $widget['name'], '_display' => 'template' )) );50 $args = wp_list_widget_controls_dynamic_sidebar( array( 0 => array( 'widget_id' => $widget['id'], 'widget_name' => $widget['name'], '_display' => 'template', '_show' => $show ), 1 => $widget['params'][0] ) ); 51 51 $sidebar_args = call_user_func_array( 'wp_widget_control', $args ); 52 52 $widget_control_template = ob_get_contents(); … … 62 62 'edit' => false 63 63 ); 64 if ( $is_multi ) {64 if ( 'all' == $show && $is_multi ) { 65 65 // it's a multi-widget. We only need to show it in the list once. 66 66 $already_shown[] = $widget['callback']; … … 93 93 $no_widgets_shown = false; 94 94 95 96 if ( 'all' != $show && $sidebar_args['_widget_title'] ) 97 $widget_title = $sidebar_args['_widget_title']; 98 else 99 $widget_title = $widget['name']; 95 100 ?> 96 101 … … 98 103 <h4 class="widget-title widget-draggable"> 99 104 100 <?php echo wp_specialchars( $widget['name'] ); ?>105 <?php echo $widget_title; ?> 101 106 102 107 <?php if ( 'add' == $action ) : ?> … … 193 198 $id_format = $widget['id']; 194 199 // We aren't showing a widget control, we're outputing a template for a mult-widget control 195 if ( ' template' == $sidebar_args['_display'] && isset($control['params'][0]['number']) ) {200 if ( 'all' == $sidebar_args['_show'] && 'template' == $sidebar_args['_display'] && isset($control['params'][0]['number']) ) { 196 201 // number == -1 implies a template where id numbers are replaced by a generic '%i%' 197 202 $control['params'][0]['number'] = -1; … … 203 208 $widget_title = ''; 204 209 // We grab the normal widget output to find the widget's title 205 if ( is_callable( $widget['_callback'] ) ) {210 if ( ( 'all' != $sidebar_args['_show'] || 'template' != $sidebar_args['_display'] ) && is_callable( $widget['_callback'] ) ) { 206 211 ob_start(); 207 212 $args = func_get_args(); … … 213 218 unset($wp_registered_widgets[$widget_id]['_callback']); 214 219 215 if ( $widget_title && $widget_title != $ control['name'] )220 if ( $widget_title && $widget_title != $sidebar_args['widget_name'] ) 216 221 $widget_title = sprintf( _c('%1$s: %2$s|1: widget name, 2: widget title' ), $sidebar_args['widget_name'], $widget_title ); 217 222 else 218 223 $widget_title = wp_specialchars( strip_tags( $sidebar_args['widget_name'] ) ); 224 225 $sidebar_args['_widget_title'] = $widget_title; 219 226 220 227 if ( empty($sidebar_args['_display']) || 'template' != $sidebar_args['_display'] ) … … 271 278 return ''; 272 279 $string = substr( $string, $beg + 14 , $end - $beg - 14); 273 return wp_specialchars( strip_tags( $string ) ); 280 $string = str_replace( ' ', ' ', $string ); 281 return trim( wp_specialchars( strip_tags( $string ) ) ); 274 282 } 275 283
