Добавляет параметр пользователю (что-то типо произвольных полей, но только для пользователей) и сохраняет его в базу данных.
add_user_meta( $user_id, $meta_key, $meta_value, $unique = false )
Параметры
- $user_id
- (целое число) ID пользователя, которому нужно добавить метаданные.
- $meta_key
- (строка) Ключ мета-поля.
- $meta_value
- Значение ключа. Поддерживаются не только скалярные значение, но и массивы например. Но в случае с массивами – в базе данных они будут храниться в сериализованном виде, функция автоматически преобразует их при помощи maybe_serialize()
- $unique
- (логическое) Должен ли данный ключ быть уникальным для пользователя. По умолчанию — не должен. Т.е. если данный параметр установлен
false
, то функция позволяет добавить неограниченное количество значений для одного ключа.
Примеры
В отдельном уроке мы добавляли поля в профили пользователей, у нас там было два мета-параметра, город city
и пол gender
. Попробуем добавить поле с городом для пользователя с ID=1.
$user_id = 1; add_user_meta( $user_id, 'city', 'Лондон' );
Попробуем сделать то же самое для текущего пользователя, в этом нам поможет функция get_current_user_id().
$user_id = get_current_user_id(); add_user_meta( $user_id, 'city', 'Лондон' );
Или:
add_user_meta( get_current_user_id(), 'city', 'Лондон' );
Также обратите внимание, что если вы не указали четвёртый параметр в значение true, то можно добавить несколько городов для пользователя и все они будут храниться под одним ключом:
add_user_meta( get_current_user_id(), 'city', 'Лондон' ); add_user_meta( get_current_user_id(), 'city', 'Ванкувер' );
А затем значения этих полей можно получить функцией get_user_meta().