Обновление метаданных пользователя

23 окт. 2015 г., 12:25:43
Просмотры: 15.5K
Голосов: 1

У меня возникают сложности с обновлением метаданных текущего пользователя. Например, я хочу автоматически обновить его имя. Я использую:

$current_user = wp_get_current_user(); // Получаем данные текущего пользователя

чтобы получить данные текущего пользователя, вместо указания конкретного ID пользователя.

0
Все ответы на вопрос 1
2

Одна из двух функций, которые вам понадобятся; update_user_meta или add_user_meta — чаще всего вам понадобится первая, но важно понимать разницу:

add_post_meta создаст запись только в том случае, если параметр $unique равен false или если нет существующих данных для $meta_key. update_post_meta добавит данные, если они еще не существуют, в противном случае обновит их в зависимости от того, что вы указали для $prev_value.

Обе функции принимают одинаковые три начальных параметра: ID пользователя, мета-ключ и значение:

$current_user = wp_get_current_user();
$current_user->ID; // ID текущего пользователя
$current_user_id = get_current_user_id(); // Альтернативный способ получения ID текущего пользователя

// Обновляем имя текущего пользователя
update_user_meta( $current_user_id, 'first_name', 'Jimbo' );

// Обновляем имя конкретного пользователя
update_user_meta( 4 /* ID пользователя 4 */, 'first_name', 'Janey' );
23 окт. 2015 г. 13:47:07
Комментарии

Спасибо, работает отлично - еще один вопрос: если метаданные числовые (например, Возраст), и я хочу увеличить значение на 1, что мне нужно вставить здесь?

Garland Garland
23 окт. 2015 г. 14:57:47

Получите значение с помощью get_user_meta( $id, 'age' ), увеличьте на 1 (или установите в 1, если сейчас значение null), затем обновите.

TheDeadMedic TheDeadMedic
23 окт. 2015 г. 15:21:38