Описание pre_user_query
— Filter
Хук pre_user_query позволяет изменять параметры запроса пользователей перед его выполнением. Он срабатывает перед тем, как WordPress выполнит запрос к базе данных для получения списка пользователей, что позволяет модифицировать запрос и влиять на результаты.
Примеры использования
Пример фильтрации пользователей по роли:
add_filter('pre_user_query', function($query) {
$query->set('role', 'editor');
return $query;
});
В этом примере мы изменяем запрос, чтобы получить только пользователей с ролью ‘редактор’.
Пример исключения пользователей по ID:
add_filter('pre_user_query', function($query) {
if (!is_admin()) {
$query->set('exclude', array(1, 2));
}
return $query;
});
Здесь мы исключаем пользователей с ID 1 и 2 из запроса, если мы не находимся в админке.
Пример изменения порядка пользователей:
add_filter('pre_user_query', function($query) {
$query->set('orderby', 'user_nicename');
$query->set('order', 'ASC');
return $query;
});
В этом случае мы изменяем порядок пользователей на сортировку по ‘user_nicename’ в порядке возрастания.
— Лучшие практики
– Использование
Используйте этот хук, когда нужно изменить параметры запроса пользователей, например, для фильтрации или сортировки.
– Производительность
Хук не должен значительно влиять на производительность, если изменения не слишком сложные.
– Предупреждения
Будьте осторожны с изменениями, которые могут повлиять на логику доступа к пользователям на сайте.
Альтернативы
Тип: filter
Этот хук позволяет добавлять дополнительные колонки для поиска пользователей.
Используйте его, если хотите изменить поля, по которым производится поиск пользователей.
Тип: filter
Этот хук позволяет изменять запрос перед выборкой пользователей в админке.
Используйте его, если хотите изменить запрос пользователей, когда они загружаются в админке.