wp_dropdown_users()
wp_dropdown_users( array|string $args = ” ) 创建用户的下拉HTML…
wp_dropdown_users( array|string $args = ” )
创建用户的下拉HTML内容。
Create dropdown HTML content of users.
目录锚点:#说明#源码#笔记
说明(Description)
可以显示内容(默认情况下是这样),也可以通过设置“echo”参数来检索内容。不需要使用“include”和“exclude”参数;在这种情况下,将显示所有用户。只能使用一个“include”或“exclude”,但不能同时使用这两个。可用参数如下:
源码(Source)
/** * Create dropdown HTML content of users. * * The content can either be displayed, which it is by default or retrieved by * setting the 'echo' argument. The 'include' and 'exclude' arguments do not * need to be used; all users will be displayed in that case. Only one can be * used, either 'include' or 'exclude', but not both. * * The available arguments are as follows: * * @since 2.3.0 * * @global wpdb $wpdb WordPress database object for queries. * @global int $blog_id * * @param array|string $args { * Optional. Array or string of arguments to generate a drop-down of users. * {@see WP_User_Query::prepare_query() for additional available arguments. * * @type string $show_option_all Text to show as the drop-down default (all). * Default empty. * @type string $show_option_none Text to show as the drop-down default when no * users were found. Default empty. * @type int|string $option_none_value Value to use for $show_option_non when no users * were found. Default -1. * @type string $hide_if_only_one_author Whether to skip generating the drop-down * if only one user was found. Default empty. * @type string $orderby Field to order found users by. Accepts user fields. * Default 'display_name'. * @type string $order Whether to order users in ascending or descending * order. Accepts 'ASC' (ascending) or 'DESC' (descending). * Default 'ASC'. * @type array|string $include Array or comma-separated list of user IDs to include. * Default empty. * @type array|string $exclude Array or comma-separated list of user IDs to exclude. * Default empty. * @type bool|int $multi Whether to skip the ID attribute on the 'select' element. * Accepts 1|true or 0|false. Default 0|false. * @type string $show User table column to display. If the selected item is empty * then the 'user_login' will be displayed in parentheses. * Accepts user fields. Default 'display_name'. * @type int|bool $echo Whether to echo or return the drop-down. Accepts 1|true (echo) * or 0|false (return). Default 1|true. * @type int $selected Which user ID should be selected. Default 0. * @type bool $include_selected Whether to always include the selected user ID in the drop- * down. Default false. * @type string $name Name attribute of select element. Default 'user'. * @type string $id ID attribute of the select element. Default is the value of $name. * @type string $class Class attribute of the select element. Default empty. * @type int $blog_id ID of blog (Multisite only). Default is ID of the current blog. * @type string $who Which type of users to query. Accepts only an empty string or * 'authors'. Default empty. * } * @return string String of HTML content. */ 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' => $GLOBALS['blog_id'], 'who' => '', 'include_selected' => false, 'option_none_value' => -1 ); $defaults['selected'] = is_author() ? get_query_var( 'author' ) : 0; $r = wp_parse_args( $args, $defaults ); $show = $r['show']; $show_option_all = $r['show_option_all']; $show_option_none = $r['show_option_none']; $option_none_value = $r['option_none_value']; $query_args = wp_array_slice_assoc( $r, array( 'blog_id', 'include', 'exclude', 'orderby', 'order', 'who' ) ); $query_args['fields'] = array( 'ID', 'user_login', $show ); $users = get_users( $query_args ); $output = ''; if ( ! empty( $users ) && ( empty( $r['hide_if_only_one_author'] ) || count( $users ) > 1 ) ) { $name = esc_attr( $r['name'] ); if ( $r['multi'] && ! $r['id'] ) { $id = ''; } else { $id = $r['id'] ? " id='" . esc_attr( $r['id'] ) . "'" : " id='$name'"; } $output = " "; if ( $show_option_all ) { $output .= " $show_option_all "; } if ( $show_option_none ) { $_selected = selected( $option_none_value, $r['selected'], false ); $output .= " $show_option_none "; } $found_selected = false; foreach ( (array) $users as $user ) { $user->ID = (int) $user->ID; $_selected = selected( $user->ID, $r['selected'], false ); if ( $_selected ) { $found_selected = true; } $display = ! empty( $user->$show ) ? $user->$show : '('. $user->user_login . ')'; $output .= " " . esc_html( $display ) . " "; } if ( $r['include_selected'] && ! $found_selected && ( $r['selected'] > 0 ) ) { $user = get_userdata( $r['selected'] ); $_selected = selected( $user->ID, $r['selected'], false ); $display = ! empty( $user->$show ) ? $user->$show : '('. $user->user_login . ')'; $output .= " " . esc_html( $display ) . " "; } $output .= ""; } /** * Filter the wp_dropdown_users() HTML output. * * @since 2.3.0 * * @param string $output HTML output generated by wp_dropdown_users(). */ $html = apply_filters( 'wp_dropdown_users', $output ); if ( $r['echo'] ) { echo $html; } return $html; }
更新版本 | 源码位置 | 使用 | 被使用 |
---|---|---|---|
4.7.0 | wp-includes/user.php | 17 | 20 |
笔记(Notes)
带提交按钮的下拉列表
类别:WordPress 函数手册、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!