Описание этой функции публикую вслед посту, в котором она используется (про фильтр записей по пользователям в админке).
wp_dropdown_users( $args = '' )
Параметры массива $args
- show_option_all
- (строка) Добавляет элемент селекта для выбора всех пользователей, по умолчанию
null
— не добавлять.$args = array( 'show_option_all' => 'Все пользователи' );
<select name="user" id="user" class=""> <option value="0">Все пользователи</option> <option value="1">Misha</option> ... </select>
- show_option_none
- (строка) Противоположное предыдущему параметру. Добавляет элемент <option> для выбора «никого из пользователей». Строка же, указанная в этом параметре, будет являться лейблом этого <option>, по умолчанию
null
— не добавлять.<select name="user" id="user" class=""> <option value="-1">Не выбирать пользователя</option> <option value="1">Misha</option> ... </select>
- orderby
- (строка) сортировать выводимых пользователей по:
ID
— по ID пользователя,user_nicename
— по логину,display_name
— по отображаемому имени (по умолчанию).
- order
- (строка) порядок сортировки:
ASC
— по возрастанию (0-9, A-Я) (по умолчанию),DESC
— по убыванию (9-0, Я-А).
- include
- (строка) Если вам нужно отобразить только каких-то конкретных пользователей, просто укажите их ID в этом параметре через запятую.
- exclude
- (строка) Если вам нужно исключить каких-либо пользователей из списка, просто укажите их ID в этом параметре через запятую.
- multi
- (логическое) Если вы указываете этот параметр равным
true
, будет подразумеваться, что вы хотите использовать функциюwp_dropdown_users()
несколько раз на странице. По факту же будет просто удалён атрибут ID из селекта (по умолчанию —false
). - show
- (строка) Что отображать в качестве лейблов:
ID
— ID пользователей,user_nicename
— их логины,display_name
— их отображаемое имя, которое они сами могут задать в админке (по умолчанию).
- echo
- (логическое) Вывести (
true
) или возвратить (false
) результат действия функции. - selected
- (целое число) ID выбранного пользователя в списке. Может быть также равным
-1
при задействованном параметреshow_option_none
. - include_selected
- (логическое) При указанном
true
включает выбранного пользователя в список, даже если он там не должен отображаться, исходя из других параметров (по умолчанию —false
). - name
- (строка) Атрибут
name
селекта. - id
- (строка) Атрибут
id
селекта. По умолчанию совпадает с атрибутомname
. - class
- (строка) Атрибут
class
селекта. - blog_id
- (целое число) Для мультисайта — укажите ID блога, с которого будут вытаскиваться пользователи (по умолчанию — текущий блог).
- who
- (строка) Если указать значение этого параметра равным
authors
, то будут выводиться только пользователи с правами авторов и выше.
$args = array( 'show_option_all' => 'Все пользователи' );
<select name="user" id="user" class=""> <option value="0">Все пользователи</option> <option value="1">Misha</option> ... </select>
<select name="user" id="user" class=""> <option value="-1">Не выбирать пользователя</option> <option value="1">Misha</option> ... </select>
Пример использования
<h2>Пользователи</h2> <form action="#" method="get"> <?php $args = array( 'show_option_all' => 'Все пользователи', 'name' => 'author' ); wp_dropdown_users( $args ); ?> <button>Выбрать</button> </form>
Фильтры
У функции также есть два фильтра.
$query_args = apply_filters( 'wp_dropdown_users_args', $query_args, $r );
Здесь $query_args
— массив установленных пользователем параметров, а $r
— массив параметров по умолчанию, запускается практически в самом начале функции.
$html = apply_filters( 'wp_dropdown_users', $output );
Нетрудно догадаться, что $output
— это HTML код, возвращаемый/выводимый функцией, задействуется в самом конце.