Создание враппера для ноды по её nid

$node_wrapper = entity_metadata_wrapper('node', $nid);

Вторым параметром можно передать объект ноды

$node_wrapper = entity_metadata_wrapper('node', $node);  

Получить значение свойства

$nid = $node_wrapper->nid->value();

// или

$node_wrapper->getIdentifier();

$title = $node_wrapper->title->value();  

 

Получить значение свойства, пропущенного через check_plain()

$title = $node_wrapper->title->value(array('sanitize' => TRUE));  

Получить значение поля

$field_value = $node_wrapper->field_name->value();  

Получить первое значение multiple-value поля

$field_value = $node_wrapper->field_name[0]->value();  

Получить значение составного поля

if ($node_wrapper->body->value()) {
  $teaser = $node_wrapper->body->summary->value();
  $body = $node_wrapper->body->value->value();
}  

Получить первое значение составного multiple-value поля

if ($node_wrapper->field_tags->value()) {
  $first_tag_name = $node_wrapper->field_tags[0]->name->value();
}  

Получить значение поля для определённого языка

$field_value = $node_wrapper->language('ru')->field_name->value();  

Обойти значения multiple-value поля

foreach ($node_wrapper->field_tags as $tag_wrapper) {
  $tid = $tag_wrapper->tid->value();
  $tag_name = $tag_wrapper->name->value();
}  

Получить значение свойства у связанной сущности

$author = $node_wrapper->author->name->value();

$author_email = $node_wrapper->author->mail->value();

$author_roles = $node_wrapper->author->roles->optionsList();

$image_url = $node_wrapper->field_image->file->url->value();  

Изменить свойство

$node_wrapper->title = 'New title' $node_wrapper->save();  

Изменить свойство у связанной сущности

$node_wrapper->author->mail = 'newmail@gmail.com';

$node_wrapper->author->save();  

Изменить поле

$node_wrapper->field_text = 'New value';

$node_wrapper->field_term = 123;

$node_wrapper->save();  

Удалить значения поля

$node_wrapper->field_image->set(NULL);  

Удалить одно значение multi-value поля

$node_wrapper->field_image[0]->set(NULL);  

Проверить наличие поля у бандла (не наличие значения поля, а именно существование поля у конкретного бандла)

if (isset($node_wrapper->field_name)) { ... }  

Отличить single-value поле от multi-value

if ($node_wrapper->field_name instanceof EntityListWrapper) {Поле multi-value } else {Поле single-value }  

Получить список доступных свойств

$node_properties = $node_wrapper->getPropertyInfo();

$body_properties = $node_wrapper->body->getPropertyInfo();  

Получить список доступных свойств у определённого типа сущности

$node_properties = entity_get_property_info('node');

источник