Изучение WP_User_Query

Изучение WP_User_Query

От автора: в этой статье мы рассмотрим класс WP_User_Query и научимся создавать запросы в таблицу с пользователями WordPress. Начнем!

Что такое WP_User_Query?

Вы, наверное, уже поняли смысл класса по его названию. Конечно, вы же не думаете, что класс WP_User_Query будет работать с виджетом «Tag Cloud» — данный класс работает с запросами в таблицу пользователей в WordPress. Посмотрим, что говорится в кодексе об этом классе:

«WP_User_Query – класс, определенный в wp-includes/user.php, позволяет создавать запросы в базу данных WordPress в таблицы wp_users и wp_usermeta. Класс впервые появился в версии 3.1, а класс WP_User_Search устарел.»

По существу, можно сказать класс WP_User_Query это WP_Query только для пользователей. Класс работает с таблицами wp_users и wp_usermeta и вытягивает все данные о пользователях. Рассмотрим класс более подробно на примерах: свойства, методы и параметры.

Совет: Мы уже изучили это в прошлой статье о классе WP_Query. Напомню: свойства и метода это те же самые переменные и функции, только они определены в классе PHP.

Свойства WP_User_Query

В классе всего 7 свойств. Не изменяйте значения свойств. Получить можно, но не менять.

Бесплатный курс «Создание тем на WordPress. Быстрый старт»

Изучите курс и узнайте, как создавать уникальные темы на WordPress с нестандартной структурой страниц

Скачать курс

$query_vars — Хранится ассоциативный массив переменных с запросами и их значений.

$results — Число найденных пользователей.

$query_fields — Свойство хранит поля для SQL-выражений.

$query_from — В свойстве хранится условие FROM для запроса.

$query_where — Хранится условие WHERE для запроса.

$query_orderby — Хранится условие ORDERBY для запроса, используется для сортировки полученных пользователей.

$query_limit — Хранится условие LIMIT, используется для ограничения количества пользователей.

Методы WP_User_Query

Помните методы WP_Query? В этом классе всего 4 метода, и они работают аналогично методам WP_Query. Быстро пробежимся по ним.

get() — Метод просто получает результат запроса.

set() — Обратный первому, задает переменную для запроса.

get_results() — В отличие от WP_Query, в классе WP_User_Query не работают циклы. То есть необходимо вызвать метод get_results() и потом вручную обработать результат.

get_total() — Возвращает количество выбранных записей.

Параметры WP_User_Query

Как и в классе WP_Query, в классе WP_User_Query есть параметры, которые нужно знать. Но в отличие от класса WP_Query, где более 50 параметров, тут их всего 17. Все параметры похожи на параметры класса WP_Query. Так что если с параметрами в классе WP_Query не возникло проблем, то и тут не возникнет:

blog_id: Для сетей с несколькими сайтами, ID блога. По умолчанию стоит текущий блог.

role: роль пользователя. Принимается subscriber, author, contributor, author, editor, administrator или любая пользовательская роль.

include: Массив ID пользователей для включения в запрос.

exclude: Массив ID пользователей для исключения из запроса.

search: Поисковое выражения для поиска в таблице wp_users.

search_columns: массив столбцов таблицы wp_users. Принимается ID, user_login, user_url, user_email или user_nicename.

orderby: Выражение для сортировки. Принимается ID, display_name, name/user_name, login/user_login, nicename/user_nicename, email/user_email, url/user_url, registered/user_registered, post_count или meta_value. По умолчанию login.

order: Сортировка по возрастанию (ASC) или убыванию (DESC).

Бесплатный курс «Создание тем на WordPress. Быстрый старт»

Изучите курс и узнайте, как создавать уникальные темы на WordPress с нестандартной структурой страниц

Скачать курс

offset: Число, указывающее сколько пользователей вытянуть.

number: указывает сколько пользователей вернуть.

count_total: Булево значение (TRUE/FALSE) показывает можно ли посчитать общее количество выбранных записей или нет.

fields: строка или массив полей таблицы wp_users, которые нужно вернуть.

who: Строка с именем пользователя для запроса (автор блога или другие пользователи).

meta_key: Пользовательский мета ключ.

meta_value: Пользовательское мета значение.

meta_compare: оператор для параметра ‘meta_value’. Принимается ‘=’, ‘!=’, ‘>’, ‘>=’, ‘<‘, ‘<=’, ‘LIKE’, ‘NOT LIKE’, ‘IN’, ‘NOT IN’, ‘BETWEEN’, ‘NOT BETWEEN’, ‘EXISTS’ или ‘NOT EXISTS’. По умолчанию ‘=’.

meta_query: массив для мета запроса, ключи:

— key: ключ.

— value: строка или массив значения(ий).

— compare: Строка оператора. Принимаются те же операторы, как и с параметром meta_compare.

— type: пользовательский тип. Принимается NUMERIC, BINARY, CHAR, DATE, DATETIME, DECIMAL, SIGNED, TIME или UNSIGNED. По умолчанию CHAR.

Пара примеров по использованию WP_User_Query

Рассмотрим пару примеров принципа работы WP_User_Query.

Получить всех редакторов кроме Lisa

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

Поиск среди авторов пользователей с адресом Gmail

Скажем, вы хотите получить email адреса ваших авторов, которые используют Gmail. Тогда вам необходимо:

Заключение

Как вы видите, между классами WP_Query и WP_User_Query не так уж и много различий. А те, что есть, только облегчают понимание. Надеюсь, я помог вам понять назначение данного класса WordPress. Хотите что-нибудь добавить? Делитесь своими мыслями в комментариях. Если вам понравилась статья, не забудьте поделиться ей с друзьями.

Автор: Barış Ünver

Источник: //code.tutsplus.com/

Редакция: Команда webformyself.

Бесплатный курс «Создание тем на WordPress. Быстрый старт»

Изучите курс и узнайте, как создавать уникальные темы на WordPress с нестандартной структурой страниц

Скачать курс

Создание тем на WordPress. Быстрый старт

Изучите курс и узнайте, как создать тему на WordPress

Смотреть

Метки: ,

Похожие статьи:

Комментарии Вконтакте: