function hook_node_insert

7.x node.api.php hook_node_insert($node)

Respond to creation of a new node.

This hook is invoked from node_save() after the database query that will insert the node into the node table is scheduled for execution, after the type-specific hook_insert() is invoked, and after field_attach_insert() is called.

Note that when this hook is invoked, the changes have not yet been written to the database, because a database transaction is still in progress. The transaction is not finalized until the save operation is entirely completed and node_save() goes out of scope. You should not rely on data in the database at this time as it is not updated yet. You should also note that any write/update database queries executed from this hook are also not committed immediately. Check node_save() and db_transaction() for more info.

Parameters

$node: The node that is being created.

Related topics

14 functions implement hook_node_insert()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

book_node_insert in drupal-7.x/modules/book/book.module
Implements hook_node_insert().
comment_node_insert in drupal-7.x/modules/comment/comment.module
Implements hook_node_insert().
entity_crud_hook_test_node_insert in drupal-7.x/modules/simpletest/tests/entity_crud_hook_test.module
Implements hook_node_insert().
forum_node_insert in drupal-7.x/modules/forum/forum.module
Implements hook_node_insert().
menu_node_insert in drupal-7.x/modules/menu/menu.module
Implements hook_node_insert().

... See full list

2 invocations of hook_node_insert()
field_attach_insert in drupal-7.x/modules/field/field.attach.inc
Save field data for a new entity.
user_save in drupal-7.x/modules/user/user.module
Save changes to a user account or add a new user.

File

drupal-7.x/modules/node/node.api.php, line 517
Hooks provided by the Node module.

Code

function hook_node_insert($node) {
  db_insert('mytable')
    ->fields(array(
      'nid' => $node->nid,
      'extra' => $node->extra,
    ))
    ->execute();
}