wp/wp-admin/includes/widgets.php
changeset 5 5e2f62d02dcd
parent 0 d970ebf37754
child 7 cf61fcea0001
equal deleted inserted replaced
4:346c88efed21 5:5e2f62d02dcd
    10  * Display list of the available widgets.
    10  * Display list of the available widgets.
    11  *
    11  *
    12  * @since 2.5.0
    12  * @since 2.5.0
    13  */
    13  */
    14 function wp_list_widgets() {
    14 function wp_list_widgets() {
    15 	global $wp_registered_widgets, $sidebars_widgets, $wp_registered_widget_controls;
    15 	global $wp_registered_widgets, $wp_registered_widget_controls;
    16 
    16 
    17 	$sort = $wp_registered_widgets;
    17 	$sort = $wp_registered_widgets;
    18 	usort( $sort, '_sort_name_callback' );
    18 	usort( $sort, '_sort_name_callback' );
    19 	$done = array();
    19 	$done = array();
    20 
    20 
    61  * Used in the admin widget config screen.
    61  * Used in the admin widget config screen.
    62  *
    62  *
    63  * @since 2.5.0
    63  * @since 2.5.0
    64  *
    64  *
    65  * @param string $sidebar id slug of the sidebar
    65  * @param string $sidebar id slug of the sidebar
    66  */
    66  * @param string optional $sidebar_name Include the HTML for the sidebar name
    67 function wp_list_widget_controls( $sidebar ) {
    67  */
       
    68 function wp_list_widget_controls( $sidebar, $sidebar_name = '' ) {
    68 	add_filter( 'dynamic_sidebar_params', 'wp_list_widget_controls_dynamic_sidebar' );
    69 	add_filter( 'dynamic_sidebar_params', 'wp_list_widget_controls_dynamic_sidebar' );
    69 
    70 
    70 	echo "<div id='$sidebar' class='widgets-sortables'>\n";
       
    71 
       
    72 	$description = wp_sidebar_description( $sidebar );
    71 	$description = wp_sidebar_description( $sidebar );
    73 
    72 
    74 	if ( !empty( $description ) ) {
    73 	echo '<div id="' . esc_attr( $sidebar ) . '" class="widgets-sortables">';
    75 		echo "<div class='sidebar-description'>\n";
    74 
    76 		echo "\t<p class='description'>$description</p>";
    75 	if ( $sidebar_name ) {
    77 		echo "</div>\n";
    76 		?>
    78 	}
    77 		<div class="sidebar-name">
       
    78 			<div class="sidebar-name-arrow"><br /></div>
       
    79 			<h3><?php echo esc_html( $sidebar_name ); ?> <span class="spinner"></span></h3>
       
    80 		</div>
       
    81 		<?php
       
    82 	}
       
    83 
       
    84 	echo '<div class="sidebar-description">';
       
    85 
       
    86 	if ( ! empty( $description ) ) {
       
    87 		echo '<p class="description">' . $description . '</p>';
       
    88 	}
       
    89 
       
    90 	echo '</div>';
    79 
    91 
    80 	dynamic_sidebar( $sidebar );
    92 	dynamic_sidebar( $sidebar );
    81 	echo "</div>\n";
    93 
       
    94 	echo '</div>';
    82 }
    95 }
    83 
    96 
    84 /**
    97 /**
    85  * {@internal Missing Short Description}}
    98  * {@internal Missing Short Description}}
    86  *
    99  *
   158 	} else {
   171 	} else {
   159 		$query_arg['sidebar'] = $sidebar_id;
   172 		$query_arg['sidebar'] = $sidebar_id;
   160 		$query_arg['key'] = $key;
   173 		$query_arg['key'] = $key;
   161 	}
   174 	}
   162 
   175 
   163 	// We aren't showing a widget control, we're outputting a template for a multi-widget control
   176 	/*
       
   177 	 * We aren't showing a widget control, we're outputting a template
       
   178 	 * for a multi-widget control.
       
   179 	 */
   164 	if ( isset($sidebar_args['_display']) && 'template' == $sidebar_args['_display'] && $widget_number ) {
   180 	if ( isset($sidebar_args['_display']) && 'template' == $sidebar_args['_display'] && $widget_number ) {
   165 		// number == -1 implies a template where id numbers are replaced by a generic '__i__'
   181 		// number == -1 implies a template where id numbers are replaced by a generic '__i__'
   166 		$control['params'][0]['number'] = -1;
   182 		$control['params'][0]['number'] = -1;
   167 		// with id_base widget id's are constructed like {$id_base}-{$id_number}
   183 		// With id_base widget id's are constructed like {$id_base}-{$id_number}.
   168 		if ( isset($control['id_base']) )
   184 		if ( isset($control['id_base']) )
   169 			$id_format = $control['id_base'] . '-__i__';
   185 			$id_format = $control['id_base'] . '-__i__';
   170 	}
   186 	}
   171 
   187 
   172 	$wp_registered_widgets[$widget_id]['callback'] = $wp_registered_widgets[$widget_id]['_callback'];
   188 	$wp_registered_widgets[$widget_id]['callback'] = $wp_registered_widgets[$widget_id]['_callback'];
   187 	</div>
   203 	</div>
   188 	<div class="widget-title"><h4><?php echo $widget_title ?><span class="in-widget-title"></span></h4></div>
   204 	<div class="widget-title"><h4><?php echo $widget_title ?><span class="in-widget-title"></span></h4></div>
   189 	</div>
   205 	</div>
   190 
   206 
   191 	<div class="widget-inside">
   207 	<div class="widget-inside">
   192 	<form action="" method="post">
   208 	<form method="post">
   193 	<div class="widget-content">
   209 	<div class="widget-content">
   194 <?php
   210 <?php
   195 	if ( isset($control['callback']) )
   211 	if ( isset($control['callback']) )
   196 		$has_form = call_user_func_array( $control['callback'], $control['params'] );
   212 		$has_form = call_user_func_array( $control['callback'], $control['params'] );
   197 	else
   213 	else
   222 	<div class="widget-description">
   238 	<div class="widget-description">
   223 <?php echo ( $widget_description = wp_widget_description($widget_id) ) ? "$widget_description\n" : "$widget_title\n"; ?>
   239 <?php echo ( $widget_description = wp_widget_description($widget_id) ) ? "$widget_description\n" : "$widget_title\n"; ?>
   224 	</div>
   240 	</div>
   225 <?php
   241 <?php
   226 	echo $sidebar_args['after_widget'];
   242 	echo $sidebar_args['after_widget'];
       
   243 
   227 	return $sidebar_args;
   244 	return $sidebar_args;
   228 }
   245 }