Drupal. Как программно редактировать профиль пользователя.

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

// Загружем профиль текущего пользователя в переменную $account 
$account = user_uid_optional_load();
 
// Делаем приведение к массиву
$edited_account = (array)$account;
 
// Устанавливаем значение нужного нам поля
field_set_value($edited_account['field_your_field_name'], 'Your field value');
 
// Сохраняем измения
user_save($account, $edited_account);

Если Вам нужно изменить профиль не текущего пользователя, а любого другого пользователя, то вместо user_uid_optional_load() используем user_uid_optional_load($uid), где $uid - это id нужного пользователя.