function hook_delete

7.x node.api.php hook_delete($node)
5.x node.php hook_delete(&$node)
6.x node.php hook_delete(&$node)

Respond to node deletion.

This is a node-type-specific hook, which is invoked only for the node type being affected. See Node API hooks for more information.

Use hook_node_delete() to respond to node deletion of all node types.

This hook is invoked from node_delete_multiple() before hook_node_delete() is invoked and before field_attach_delete() 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 delete operation is entirely completed and node_delete_multiple() 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_delete_multiple() and db_transaction() for more info.


$node: The node that is being deleted.

Related topics

82 functions implement hook_delete()

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

actions_delete in drupal/includes/
Deletes a single action from the database.
block_custom_block_delete in drupal/modules/block/
Form constructor for the custom block deletion form.
block_menu_delete in drupal/modules/block/block.module
Implements hook_menu_delete().
block_user_role_delete in drupal/modules/block/block.module
Implements hook_user_role_delete().
book_node_delete in drupal/modules/book/book.module
Implements hook_node_delete().

... See full list

3 invocations of hook_delete()
field_attach_delete in drupal/modules/field/
Delete field data for an existing entity. This deletes all revisions of field data for the entity.
field_purge_data in drupal/modules/field/
Purges the field data for a single field on a single pseudo-entity.
node_delete_multiple in drupal/modules/node/node.module
Deletes multiple nodes.


drupal/modules/node/node.api.php, line 1063
Hooks provided by the Node module.


function hook_delete($node) {
  db_delete('mytable')->condition('nid', $node->nid)->execute();