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 |