Всем привет. Очень нужна помощь, долго искал в интернете, но так и не нашёл. Я понял, как получать данные пользователя из таблицы wp_users. В ней все данные о пользователе находятся в одной строчке. Но в usermeta данные об одном пользователе идут уже не в строчку, а в столбик. Не знаю во всех БД так или нет (я использую связку wordpress и woocommerce), поэтому прилагаю скриншот. Такая функция, как get_user_by может получить данные о пользователе по ID, nicename, почте или логину; get_userdata вообще только по ID. Но можно ли как-то аналогично приведённым выше способам или другими методами получить информацию о пользователе через его first_name и last_name. Т. е. хотелось бы добавить на сайт форму, в которую вводится имя и фамилия, а функция ищет данные о пользователе в wp_usermeta и выводит их, минуя id?
@Domenys, ознакомьтесь: Явные операции соединения. Из одной таблицы берёте id пользователя, из другой - "привязанные" к нему данные. Для начала можете, конечно, последовательно выполнить две выборки - в одной получить тот самый id пользователя, а в другой - остальные (мета)данные. А для работы с базой данных в WP существует wpdb{}
Спасибо большое за ответ. Я пока только начинаю разбираться в php и mysql, поэтому пока сложновато разобраться во всём этом. Особенно сложно понять статью "Явные операции соединения". Для меня эта статья пока слишком сложна. Про wpdb{} я слышал, но пока его не изучал. Сейчас попытаюсь изучить, надеюсь используя только этот класс и его запросы можно получить то, что я хочу. А вот насчёт поиска у меня вопрос. Как я понял порядок такой: Через display_name таблицы wp_users получить id этого пользователя->Связать этот ID с аналогичным ID в таблице wp_usermeta->И уже тогда выводить необходимую информацию связанную с этим ID в wp_usermeta. Но тут возникают три вопроса: 1) ID в wp_users является первичным ключом, а ID в wp_usermeta нет. Это очень важно или всё равно можно будет связать их? 2) В wp_users вся информация о пользователе содержится в одной строке, а вот в wp_usermeta нет, там более 10 строк на одного пользователя и каждая строчка содержит значение о данном пользователе. Может ли это доставить проблемы при поиске? 3) Вот что мне нужно: есть форма, в которой есть два поля input, с именем и фамилией. Если вводится имя и фамилия, то ищется подходящий человек. А вот если в одну из ячеек вводится значение имени/фамилии, а другая остаётся пустой, то происходит поиск и вывод всех подходящих пользователей(Всех Иванов или всех Петровых). Но если начало идёт от таблицы wp_users, то там нет ячеек с first_name и last_name, а просто display_name. Если я правильно понял, то если я введу через пробел имя и фамилию, то функция сможет найти пользователя в display-name, но вот если, допустим, только фамилию, то ответ будет пустым?
@Domenys 1 - Можно будет. id из таблицы пользователей и user_id из метаданных пользователей. 2 - Нет. Обычная связь таблиц один-ко-многим (подробнее о связях между таблицами/сущностями) 3 - Раз уж заданием предусмотрен поиск по имени и фамилии, то логично искать сразу в таблице метаданных, в которой есть и имя и фамилия (то есть, должны быть заполнены). display_name в таблице пользователей, очевидно, просто ник (псевдоним). Впрочем, вот вариант: How can I search for a worpress user by...