回答:
フィールドが複数のレコードを受け入れるように設定されていると仮定します...
$user->field_yourfield_name[LANGUAGE_NONE][0]['tid'] = 27;
$user->field_yourfield_name[LANGUAGE_NONE][1]['tid'] = 28;
// etc
または、次のように(次に利用可能なインデックスを知らなくても)配列に追加し続けることができます。
$user->field_yourfield_name[LANGUAGE_NONE][]['tid'] = 27;
$user->field_yourfield_name[LANGUAGE_NONE][]['tid'] = 28;
エンティティメタデータラッパーを含むリスト値に割り当てることができます。例えば:
<?php
$wrapper = entity_metadata_wrapper('user', $user);
foreach ($wrapper->field_taxonomy_terms->getIterator() as $delta => $term_wrapper) {
// $term_wrapper may now be accessed as a taxonomy term wrapper.
$label = $term_wrapper->name->value();
$tid = $term_wrapper->tid->value();
// you can also set the values
$term_wrapper->name = 'New label';
$term_wrapper->tid = array(123, 1234); // or ...
$term_wrapper->tid->set($tids_to_set);
}
$wrapper->save();
?>