Intereting Posts
Пользовательский статус комментариев возможен? Как отправить электронное письмо с помощью wp_mail и использовать более одного BCC в заголовке Как получить SimplePie fetch_feed без удаления кода iframe? Перенаправить на сообщение только с идентификатором сообщения в URL-адресе и в post_type / post ID Пользовательский объект запроса с пользовательским полем «Простые поля» Как сделать мою страницу wordpress более дружественной для мобильных зрителей? Изменить wordpress Многоуровневый сайт по умолчанию с бокового идентификатора 1 на боковой идентификатор 2 Сохранение пользовательских параметров виджетов панели инструментов в wordpress Создать пост для каждого пользователя? как сохранить возможность модифицировать сообщение после применения фильтра post_type_link? Не удалось получить контент из $ post при первом опубликовании Удаление \\\ из сохраненных данных Навигация и передвижная навигационная панель для materialize.css Wp_enqueue не печатает версию Медиа-библиотека не отображает изображения, но все еще подтверждает существование

get_users, когда из мета-ключа, который имеет сериализованные значения

Я пытаюсь сделать get_users() когда мета-ключ имеет два значения. Например, в db это выглядит так:

 a:2:{i:0;s:10:"31.08.2017";i:1;s:9:"username";} 

Когда я сделаю свой запрос:

 $claimed_users = get_users('meta_key=username'); 

и попытайтесь вывести его: print_r($claimed_users);

он просто возвращает Array() .

Что я делаю не так? Есть лучший способ сделать это?

Я предполагаю, что meta_value имеет сериализованный массив, а не meta_key (для этого не имеет смысла, чтобы meta_key являлся сериализованным массивом)

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

Если вам определенно необходимо сохранить эту структуру данных, вам необходимо перейти непосредственно к базе данных по wpdb следующим образом:

 global $wpdb; $claimed_user_ids = $wpdb->get_col($wpdb->prepare("SELECT DISTINCT user_id FROM $wpdb->usermeta WHERE meta_key = %s AND meta_value LIKE %s",'<META_KEY>','%username%')); 

(замените на meta_key, который содержит сериализованный массив).

Счастливое кодирование, Kuchenundkakao