Функция wp_list_users() в WordPress: параметры, использование и примеры

# Функция wp_list_users() в WordPress 5.9.0

Функция wp_list_users() позволяет получить список всех пользователей сайта с различными параметрами. Она может быть полезна для отображения списка пользователей на вашем сайте.

### Основные показатели производительности

- Время выполнения: 1 раз — 0.0159421 секунд (очень медленно) | 50000 раз — 208.82 секунд (очень медленно)

### Хуки функции

- wp_list_users_args

### Возвращаемое значение

Функция возвращает строку (или null). Если параметр echo установлен в false, возвращается строка; в противном случае возвращается null.

## Использование

```php
wp_list_users( $args );

Параметры $args (строка или массив)

Эти параметры могут быть переданы в виде массива или строки. По умолчанию — пустой массив.

  • orderby (строка): Указывает, как сортировать пользователей. Допустимые значения:

    • 'nicename'
    • 'email'
    • 'url'
    • 'registered'
    • 'user_nicename'
    • 'user_email'
    • 'user_url'
    • 'user_registered'
    • 'name'
    • 'display_name'
    • 'post_count'
    • 'ID'
    • 'meta_value'
    • 'user_login'

    По умолчанию: 'name'

  • order (строка): Направление сортировки для orderby. Допустимые значения: 'ASC' (по возрастанию), 'DESC' (по убыванию).
    По умолчанию: 'ASC'

  • number (целое): Максимальное количество пользователей для отображения.
    По умолчанию: пусто (все пользователи)

  • exclude_admin (логический): Исключить ли аккаунт администратора?
    По умолчанию: false

  • show_fullname (логический): Показывать ли полное имя пользователя?
    По умолчанию: false

  • feed (строка): Если указано, показать ссылку на ленту пользователя с этим текстом в качестве атрибута alt.
    По умолчанию: ''

  • feed_image (строка): Если указано, показать ссылку на ленту пользователя с изображением по этому URL.
    По умолчанию: ''

  • feed_type (строка): Тип ленты, к которой нужно сделать ссылку, такой как 'rss2'.
    По умолчанию: стандартный тип ленты

  • echo (логический): Отображать результат или возвращать его.
    По умолчанию: true

  • style (строка): Если 'list', каждый пользователь будет обернут в элемент <li>; в противном случае пользователи будут разделены запятыми.

  • html (логический): Список должен отображаться в HTML или в текстовом виде.
    По умолчанию: true

  • exclude (строка): Массив или список ID пользователей, которых нужно исключить.
    По умолчанию: ''

  • include (строка): Массив или список ID пользователей, которых нужно включить.
    По умолчанию: ''

Примеры использования

Пример 1: Получение списка пользователей в виде HTML списка

$users_list = wp_list_users( [
    'number'        => 3,
    'echo'          => false,
    'style'         => 'list',
] );

echo htmlspecialchars( $users_list );

/*
style => 'list':

    
  • Wasija
  • stas
  • anastasiiik
  • */ /* style => '' или 'html' => false: Wasija, stas, anastasiiik */

    Изменения

    • С версии 5.9.0 — введено.

    Исходный код функции wp_list_users()

    function wp_list_users( $args = array() ) {
        $defaults = array(
            'orderby'       => 'name',
            'order'         => 'ASC',
            'number'        => '',
            'exclude_admin' => true,
            'show_fullname' => false,
            'feed'          => '',
            'feed_image'    => '',
            'feed_type'     => '',
            'echo'          => true,
            'style'         => 'list',
            'html'          => true,
            'exclude'       => '',
            'include'       => '',
        );
    
        $parsed_args = wp_parse_args( $args, $defaults );
    
        $return = '';
    
        $query_args           = wp_array_slice_assoc( $parsed_args, array( 'orderby', 'order', 'number', 'exclude', 'include' ) );
        $query_args['fields'] = 'ids';
    
        $query_args = apply_filters( 'wp_list_users_args', $query_args, $parsed_args );
    
        $users = get_users( $query_args );
    
        foreach ( $users as $user_id ) {
            $user = get_userdata( $user_id );
    
            if ( $parsed_args['exclude_admin'] && 'admin' === $user->display_name ) {
                continue;
            }
    
            if ( $parsed_args['show_fullname'] && '' !== $user->first_name && '' !== $user->last_name ) {
                $name = sprintf(
                    '%1$s %2$s',
                    $user->first_name,
                    $user->last_name
                );
            } else {
                $name = $user->display_name;
            }
    
            if ( ! $parsed_args['html'] ) {
                $return .= $name . ', ';
                continue;
            }
    
            if ( 'list' === $parsed_args['style'] ) {
                $return .= '
  • '; } $row = $name; if ( ! empty( $parsed_args['feed_image'] ) || ! empty( $parsed_args['feed'] ) ) { $row .= ' '; if ( empty( $parsed_args['feed_image'] ) ) { $row .= '('; } $row .= ''; } else { $row .= $name; } $row .= ''; if ( empty( $parsed_args['feed_image'] ) ) { $row .= ')'; } } $return .= $row; $return .= ( 'list' === $parsed_args['style'] ) ? '
  • ' : ', '; } $return = rtrim( $return, ', ' ); if ( ! $parsed_args['echo'] ) { return $return; } echo $return; }

    Связанные функции

    • get_users(): Получить пользователей по определенным критериям.
    • get_userdata(): Получить информацию о пользователе по его ID.
    • is_user_logged_in(): Проверить, вошел ли пользователь в систему.
    • wp_create_user(): Создать нового пользователя.
    • wp_update_user(): Обновить данные существующего пользователя.
    • wp_delete_user(): Удалить пользователя.

    Эти функции помогут вам более глубоко взаимодействовать с пользователями в WordPress.

    Leave a Reply

    Ваш адрес email не будет опубликован. Обязательные поля помечены *