node_save  →  Программное сохранение ноды

published 06 August 2011

Для программного создания ноды создаем объект и “заполняем” его необходимыми для ноды полями, после функцией node_save($node) сохраняем, если указать поле $node->nid нода сохраниться под этим номером, если не указать, номер создаться автокриментом.

   global $user;
    $node = new stdClass();
    $node->type = 'bull';
    $node->title = $values['title'];
$node->uid = $user->uid;
$node->language = 'ru';
$node->status = 0;
$node->promote = 0;
$node->comment = 0;
$node->sticky = 0;
$node->created = REQUEST_TIME;
$node->changed = REQUEST_TIME; 
    $node->body['ru']['0'] = $values['description'];
    $node->field_fieldname['ru']['0']['value'] = '';
    node_save($node);

UPD: Вообще оказываеться правильной делать так:

    $node = new stdClass();
    $node->type = 'bull';
    node_object_prepare($node)

Функция node_object_prepare() заполнит объект как надо, добавит автора, время создания и т.д. останеться только изменить нужные поля.