wp-includes/user.php:1719Creates dropdown HTML content of users.
$argsarray|stringoptional''$show_option_allstringdefault: empty
$show_option_nonestringdefault: empty
$option_none_valueint|stringdefault: -1
$hide_if_only_one_authorstringdefault: empty
$orderbystringdefault: 'display_name'
$orderstringdefault: 'ASC'
$includeint[]|stringdefault: empty
$excludeint[]|stringdefault: empty
$multibool|intdefault: 0|false
$showstringdefault: 'display_name'
$echoint|booldefault: 1|true
$selectedintdefault: 0
$include_selectedbooldefault: false
$namestringdefault: 'user'
$idstringdefault: is the value of $name
$classstringdefault: empty
$blog_idintdefault: is ID of the current blog
$whostringdefault: empty (all users)
$rolestring|string[]default: empty
$role__instring[]default: empty array
$role__not_instring[]default: empty array
$capabilitystring|string[]default: empty
$capability__instring[]default: empty array
$capability__not_instring[]default: empty array
string2 hooks fire while wp_dropdown_users() runs, in this order:
Filters the query arguments for the list of users in the dropdown.
Filters the wp_dropdown_users() HTML output.
function wp_dropdown_users( $args = '' ) { $defaults = array( 'show_option_all' => '', 'show_option_none' => '', 'hide_if_only_one_author' => '', 'orderby' => 'display_name', 'order' => 'ASC', 'include' => '', 'exclude' => '', 'multi' => 0, 'show' => 'display_name', 'echo' => 1, 'selected' => 0, 'name' => 'user', 'class' => '', 'id' => '', 'blog_id' => get_current_blog_id(), 'who' => '', 'include_selected' => false, 'option_none_value' => -1, 'role' => '', 'role__in' => array(), 'role__not_in' => array(), 'capability' => '', 'capability__in' => array(), 'capability__not_in' => array(), ); $defaults['selected'] = is_author() ? get_query_var( 'author' ) : 0; $parsed_args = wp_parse_args( $args, $defaults ); $query_args = wp_array_slice_assoc( $parsed_args, array( 'blog_id', 'include', 'exclude', 'orderby', 'order', 'who', 'role', 'role__in', 'role__not_in', 'capability', 'capability__in', 'capability__not_in', ) ); $fields = array( 'ID', 'user_login' ); $show = ! empty( $parsed_args['show'] ) ? $parsed_args['show'] : 'display_name'; if ( 'display_name_with_login' === $show ) { $fields[] = 'display_name'; } else { $fields[] = $show; } $query_args['fields'] = $fields; $show_option_all = $parsed_args['show_option_all']; $show_option_none = $parsed_args['show_option_none']; $option_none_value = $parsed_args['option_none_value']; /** * Filters the query arguments for the list of users in the dropdown. * * @since 4.4.0 * * @param array $query_args The query arguments for get_users(). * @param array $parsed_args The arguments passed to wp_dropdown_users() combined with the defaults. */ $query_args = apply_filters( 'wp_dropdown_users_args', $query_args, $parsed_args ); $users = get_users( $query_args ); $output = ''; if ( ! empty( $users ) && ( empty( $parsed_args['hide_if_only_one_author'] ) || count( $users ) > 1 ) ) { $name = esc_attr( $parsed_args['name'] );Introduced in 2.3.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
src/wp-includes/user.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.