Как вывести всех пользователей wordpress

Выводит на экран выпадающий список пользователей.

Хуки из функции

Возвращает

Строку . Возвращает или выводит на экран HTML код выпадающего списка пользователей: ‘; > /** * Filters 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 ( $parsed_args[‘echo’] ) < echo $html; >return $html; >

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

Список (wp_list списки)

Остальное

Авторы

Скажите, можно ли сделать так, чтобы нажатием на юзера активировалась ссылка на его профиль?

У меня тот же вопрос — Как сделать так чтобы при выборе юзера меня перекидывало на его профиль?

Это можно сделать с помощью JS. Получаете список в переменную, и добавляете тегу select событие onchange :

В результате при изменении значения списка, т.е. выборе другого значения, пользователя перекинет на /profile?user_id=

А как можно сделать вывод пользователей с ником содержащее определенную фразу

Читаем текст статьи внимательно и находим:

Кроме перечисленных ниже параметров, также можно передавать параметры функции get_users().

Идем в функцию get_users() и там находим параметр search и search_columns . Изучаем их и применяем.

Источник

get_userdata() WP 0.71

Получает данные указанного пользователя в виде объекта WP_User.

Данные, возвращаемые функцией, полностью соответствуют полям таблиц БД wp_users и wp_usermeta . Описание таблиц см. тут.

Некоторые полезные значения полей таблиц wp_users и wp_usermeta , которые вы можете использовать для получения данных:

Это pluggable функция — т.е. её можно заменить из плагина. Это значит, что она будет работать (подключается) только после подключения всех плагинов, а до этого момента функция еще не определена. Поэтому нельзя вызывать эту и зависящие от неё функции прямо из кода плагина. Их нужно вызывать через хук plugins_loaded или позднее, например хук init.

Замена функции (переопределение) — в плагине можно создать функцию с таким же названием, тогда она заменит текущую функцию.

Возвращает

WP_User|false . Объект данных WP_User. false — если не удалось найти указанного пользователя.

С версии 3.2 возвращаемые данные немного изменились: возвращается объект WP_User . Данные в объекте разбиваются на группы: data , caps , roles (раньше данные возвращались в общем списке). Однако, благодаря «волшебным» (служебным) методам PHP, данные можно получить как и прежде. Например, сейчас данные хранятся так: get_userdata()->data->rich_editing , но получить их можно так: get_userdata()->rich_editing , несмотря на то, что var_dump() не покажет эту взаимосвязь.

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

Примеры

#1 Как выводить данные из полученного объекта данных

#1.2 Данные в переменную

Еще одни пример, только тут запишем данные сначала в переменные, а затем выведем из на экран:

#2 Методы класса

Получаемый объект с помощью get_userdata() — это экземпляр класса и у него есть методы, которые можно использовать. Иногда это может пригодится. Вот простой пример получения опции пользователя, с помощью метода $user->get() :

Источник

Отображение списка пользователей блога WordPress на странице с навигацией

Здравствуйте, уважаемые читатели XoZbloga! В этом уроке Вы узнаете как можно создать страницу для отображения списка пользователей блога WordPress. Вывод списка будет осуществляться с пагинацией, в случае если количество пользователей достаточно большое. Также будем использовать плагин WP User Avatar для создания аватар пользователей. Приступим!

Создаем пользовательский шаблон страницы

Во-первых, создайте новый файл PHP в вашем каталоге активной темы. В этом примере я использую стандартную Twenty Twelve тему. В начале файла необходимо добавить следующий комментарий, чтобы зарегистрировать файл PHP как шаблон страницы.

В редакторе страницы WordPress, установить его в качестве шаблона для вашей новой страницы.

Обратите внимание, что Вы не должны называть файл для списка пользователей author.php так как это название используется WordPress для отображения архива автора. Назовем файл шаблона страницы users.php .

Запрос к базе данных

Во-первых, мы должны определиться с количеством пользователей, которых хотим показать на странице. Установим это количество в переменной $number . В любое время можно легко изменить это количество, что достаточно удобно.

Добавьте следующий фрагмент кода, чтобы точно определить номер текущей страницы:

Используя следующий код, мы рассчитываем количество пользователей, которые уже были переданы на страницы ранее (смещение), начиная со второй.

Также нам необходимо получить общее количество пользователей, для этого используем WordPress функцию get_users() , которая возвращает массив пользователей. Теперь с помощью PHP функции count() считаем количество элементов в массиве.

Формируем запрос с таким условием, чтобы получить определенное количество пользователей при чем не с самого начала, а с условием того на какой странице мы находимся. Параметр offset определяет, то количество пользователей, которое необходимо пропустить.

Затем мы рассчитываем общее количество страниц, которые должны быть созданы. Мы можем рассчитать его на основе общего числа зарегистрированных пользователей и количества пользователей, отображаемых на странице:

Отображение пользователей

Мы сформировали корректный запрос и получили данные, теперь можно заняться отображением пользователей на странице.

В этом примере мы покажем такие данные пользователя как: аватар, полное имя и краткая биография (описание). Эти сведения можно получать, соответственно, используя следующие WordPress функции: get_avatar и get_the_author_meta . Вы также можете получить и другие данные пользователей подробнее здесь.

li class = «user clearfix» >

div class = «user-avatar» >
( $q-> ID, 80 ); ?>
/ div >

div class = «user-data» >

h4 class = «user-name» >
a href = » ID);?>»>
( ‘display_name’ , $q-> ID);?>
/ a >
/ h4 >

( get_the_author_meta ( ‘description’ , $q-> ID) != ») : ?>
p > ( ‘description’ , $q-> ID); ?> / p >

/ div >
/ li >
>
echo ‘

‘;

Для вывода информации о пользователях используем маркированный список. При клике по имени пользователя осуществляется переход на страницу с записями данного пользователя.

Создание пагинации

Все необходимое для разбивки на страницы мы уже извлекли из базы данных и подсчитали, остается только организовать пагинацию.

К счастью для нас, WordPress уже имеет необходимую функцию, называется paginate_links() . Вызываем ее с параметрами.

Параметр Описание
base Параметр использован для создания URL, который будет использован при разбивке страницы. Где %_% заменяется на format.
format Представление полученных страниц. По-умолчанию ?page=%#% , где %#% это номер страницы.
current Номер текущей страницы.
total Общее количество страниц.
prev_next Включать или нет, ссылки «предыдущая» и «следующая», по-умолчанию true .
type Формат возвращаемого значения. Возможные варианты:
  • plain — строка со ссылками, разделенными символом новой строки. Значение по-умолчанию;
  • array — массив со ссылками;
  • list — неупорядоченный список HTML.

Более подробно об этой функции Вы можете узнать здесь.

На этом все! Отображение списка пользователей блога с постраничной навигацией готово. Для придания завершенности используем CSS. Файл шаблона страницы user.php и используемые стили CSS, Вы можете скачать в исходниках.

Просмотр демо страницы и скачивание исходников не доступно

Уважаемый читатель, XoZblog существует и развивается за счёт доходов от ненавязчивой рекламы. Если не затруднит, добавьте этот сайт в исключение AdBlock. Спасибо за понимание!

Чтобы оставаться в курсе свежих статей и уроков подписывайтесь на еженедельную почтовую рассылку или на новостную ленту RSS. Спасибо!

Источник

get_users() WP 3.1

Получает пользователей в соответствии с переданными параметрами.

Работает на базе класса WP_User_Query<>

Возвращает

Массив . Массив IDs , объектов stdClass , WP_User<>, зависит от значения параметра fields .

Если ‘fields’ => ‘all’ (по умолчанию), или fields = all_with_meta , то будет возвращен массив объектов WP_User<>.

Если ‘fields’ => [ ‘user_nicename’ ] (вместо «user_nicename» вы можете передать любое имя столбца таблицы wp_users), то будет возвращен массив объектов stdClass, содержащий только эти поля.

Если ‘fields’ => ‘ID’ , будет возвращен массив идентификаторов.

Шаблон использования

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

Аргументы параметра $args

  • blog_id (число)
  • role (строка|массив)
  • role__in (массив)
  • role__not_in (массив)
  • include (массив)
  • exclude (массив)
  • meta_key (строка)
  • meta_value (строка)
  • meta_compare (строка)
  • meta_query (массив)
  • orderby (строка)
  • order (строка)
  • offset (число)
  • number (число)
  • paged (число)
  • search (строка)
  • search_columns (массив)
  • fields (строка/массив)
  • who (строка)
  • has_published_posts (логический/массив/строка)
  • date_query (массив)
  • count_total (логический)

blog_id(число) ID текущего блога. Используется при включении мультисайтов. role(строка|массив) Роли пользователей, которых нужно получить. Указывается в виде массива или строкой (несколько ролей перечисляются через запятую). Получаемый юзер, должен иметь все из указанных ролей. role__in(массив) Массив названий ролей, пользователей которых нужно получить. Получаемый юзер, должен иметь хотя бы одну из указанных ролей.
По умолчанию: array() role__not_in(массив) Массив названий ролей, пользователей которых нужно исключить из результата. Если у юзера есть указанная роль он будет исключен.
По умолчанию: array() include(массив) Массив ID пользователей, которых нужно получить. Будут получены только эти пользователи, независимо от других параметров, не соответствующих этому параметру. exclude(массив) Массив ID пользователей, которых нужно исключить из результата. meta_key(строка) Название ключа, который должен быть у пользователя, чтобы он попал в отбор. meta_value(строка) Значение ключа meta_key. Будут получены пользователи если совпадает значение. meta_compare(строка) Оператор сравнения для значения meta_value . Может быть: = , != , > , >= , , , LIKE , NOT LIKE , IN , NOT IN , BETWEEN , NOT BETWEEN , EXISTS , NOT EXISTS , REGEXP , NOT REGEXP , RLIKE . Например указав тут оператор != , будут получены все пользователи у которых есть поле meta_key со значением не равным meta_value .
По умолчанию: ‘=’ meta_query(массив) Массив данных о meta_key/meta_value. По аналогии с WP_Query. orderby(строка)

Как сортировать полученный список пользователей?
Можно указать: include , nicename , email , url , registered , display_name , post_count , meta_value , meta_value_num , $meta_key (ключ массива запроса из meta_query).

Заметка: post_count работает только для типа записи post и не работает для произвольных типов записей (справедливо для версии WP 4.6). Обойти это не просто, возможно в будущем это измениться, а пока можно сделать так:

Пусть тип записи называется realty , тогда используйте такой хук прямо перед get_users() .

По умолчанию: ‘user_login’

меню order(строка) Направление сортировки. ASC — от меньшего к большему (a-я). DESC — от большего к меньшему (я-а). offset(число) Отступ от начала полученного списка. Если указать 5, то 5 первых пользователей из полученного списка будут пропущены. number(число) Количество пользователей которых нужно получить. paged(число) Номер страницы пагинации. Используется в связке с параметром number .
По умолчанию: 1 search(строка)

Запрос для поиска пользователей. Поиск идет по точному вхождению. Когда нужно искать подстроку, используйте в запросе * . Например, если нужно найти пользователя с именем Иван Викторович , то запрос будет выглядеть так: Иван Викторович или Иван* или *Викторович или *Виктор*

Если параметр search_columns не указан, то будет проанализирован поисковой запрос и поиск будет проходить по подходящим колонкам. По умолчанию ищет в: e-mail, URL, ID или имя пользователя (отображаемое имя в поиске не участвует).

Массив названий колонок в которых искать запрос из параметра search.
Может быть: ID , login , nicename , email , url .

Когда нужно установить особый сет колонок, используйте фильтр user_search_columns:

По умолчанию: array()

Какие поля включить в возвращаемые данные о каждом пользователе.

  • all — все.
  • all_with_meta — будут получены еще и значение метаданных пользователя.
  • ID , display_name , user_login , user_nicename , user_email , user_url , user_registered — поля из таблицы wp_user — будут получены только указанные данные. Эти поля нужно указывать в массиве, даже если нужно получить всего одно поле, например: [ ‘user_email’ ] .

who(строка) Если указать authors , то будут показаны только авторы.
По умолчанию: » (все пользователи) has_published_posts(логический/массив/строка)

Укажите название типа записи или массив названий. Тогда будут получены пользователи у которых есть опубликованные записи указанного типа.

Можно указать true , тогда будут получены пользователи у которых есть хоть одна опубликованная запись любого публичного типа.

date_query(массив) Запрос по дате. Смотрите WP_Date_Query<>. Работает с колонкой user_registered — когда пользователь был зарегистрирован. count_total(логический)

Для этой функции параметр нельзя изменить и он всегда равен false. Используется в WP_User_Query<> для создания пагинации.

Считать сколько всего пользователей было найдено по запросу.

По умолчанию: false

Примеры

#1. Выведем список e-mail всех подписчиков блога с ID 1:

Этот пример найдет и выведет на экран всех пользователей у которых имя, ID или email равен «john».

#3 Для поиска также можно использовать знак * до или после запроса.

Знак заменяет любое количество любых символов. Например, чтобы найти всех пользователей у которых ID, имя или email начинается с «jo», используем такой код:

Если поставить * в начало ( *jo ), то мы получим пользователей оканчивающихся на jo .

Источник

Читайте также:  Как чистить атласные туфли
Оцените статью