Changeset 5587 for trunk/wp-includes/user.php
- Timestamp:
- 05/29/2007 04:28:10 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/user.php
r5194 r5587 180 180 } 181 181 182 function wp_dropdown_users( $args = '' ) { 183 global $wpdb; 184 $defaults = array( 185 'show_option_all' => '', 'show_option_none' => '', 186 'orderby' => 'display_name', 'order' => 'ASC', 187 'include' => '', 'exclude' => '', 188 'show' => 'display_name', 'echo' => 1, 189 'selected' => 0, 'name' => 'user', 'class' => '' 190 ); 191 192 $defaults['selected'] = is_author() ? get_query_var( 'author' ) : 0; 193 194 $r = wp_parse_args( $args, $defaults ); 195 extract( $r ); 196 197 $query = "SELECT * FROM $wpdb->users"; 198 199 $query_where = array(); 200 201 if ( is_array($include) ) 202 $include = join(',', $include); 203 $include = preg_replace('/[^0-9,]/', '', $include); // (int) 204 if ( $include ) 205 $query_where[] = "ID IN ($include)"; 206 207 if ( is_array($exclude) ) 208 $exclude = join(',', $exclude); 209 $exclude = preg_replace('/[^0-9,]/', '', $exclude); // (int) 210 if ( $exclude ) 211 $query_where[] = "ID NOT IN ($exclude)"; 212 213 if ( $query_where ) 214 $query .= " WHERE " . join(' AND', $query_where); 215 216 $query .= " ORDER BY $orderby $order"; 217 218 $users = $wpdb->get_results( $query ); 219 220 $output = ''; 221 if ( !empty($users) ) { 222 $output = "<select name='$name' id='$name' class='$class'>\n"; 223 224 if ( $show_option_all ) 225 $output .= "\t<option value='0'>$show_option_all</option>\n"; 226 227 if ( $show_option_none ) 228 $output .= "\t<option value='-1'>$show_option_none</option>\n"; 229 230 foreach ( $users as $user ) { 231 $user->ID = (int) $user->ID; 232 $_selected = $user->ID == $selected ? " selected='selected'" : ''; 233 $output .= "\t<option value='$user->ID'$_selected>" . wp_specialchars($user->$show) . "</option>\n"; 234 } 235 236 $output .= "</select>"; 237 } 238 239 $output = apply_filters('wp_dropdown_users', $output); 240 241 if ( $echo ) 242 echo $output; 243 244 return $output; 245 } 246 182 247 ?>
Note: See TracChangeset
for help on using the changeset viewer.