WordPress получает пользователя по метаданным - PullRequest
46 голосов
/ 24 мая 2011

Как я могу получить всех пользователей, зарегистрированных в моем блоге WordPress, имеющих определенные метаданные?

Например, я сделал опцию добавления пользовательских метаданных для каждого зарегистрированного пользователя, имеющего мета-ключ как parent_id. Если я хочу перечислить всех пользователей с parent_id как 2, то как я могу это сделать?

Ответы [ 4 ]

73 голосов
/ 25 июня 2011

Начиная с WP v3.1, поиск пользователя по его мета-ключу смехотворно прост.

Используйте функцию

get_users ($ args)

( WP Documentation )

Функция принимает массив параметров, в вашем случае вам необходимо

get_users (array ('meta_key')=> 'parent_id', 'meta_value' => '42'))

24 голосов
/ 16 апреля 2013

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

$user = reset(
 get_users(
  array(
   'meta_key' => $meta_key,
   'meta_value' => $meta_value,
   'number' => 1,
   'count_total' => false
  )
 )
);
6 голосов
/ 18 июля 2016

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

$available_drivers = get_users(
            array(
                'role' => 'driver',
                'meta_query' => array(
                    array(
                        'key' => 'approved',
                        'value' => true,
                        'compare' => '=='
                    ),
                    array(
                        'key' => 'available',
                        'value' => true,
                        'compare' => '=='
                    )
                )
            )
        );

Объясняя приведенный выше запрос, мне нужны только те пользователи, которым я назначил роль водителя, и они утверждены и доступны. Одобренными и доступными являются настраиваемые поля, созданные с использованием ACF в качестве полей True / False.

Если у вас есть дополнительные метаданные для тестирования, добавьте еще один элемент массива в массив meta_query.

Тем временем зацените мой открытый исходный код на github.com/patrickingle

4 голосов
/ 26 июня 2011

Вот страница кодекса из Wordpress , подробно описывающая, как использовать функцию get_users($arg);.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...