Same name and namespace in other branches
  1. 4.6.x developer/hooks/core.php \hook_taxonomy()
  2. 5.x developer/hooks/core.php \hook_taxonomy()
  3. 6.x developer/hooks/core.php \hook_taxonomy()

Act on taxonomy changes.

This hook allows modules to take action when the terms and vocabularies in the taxonomy are modified.

Parameters

$op: What is being done to $object. Possible values:

  • "delete"
  • "insert"
  • "update"
  • "form"

$type: What manner of item $object is. Possible values:

  • "term"
  • "vocabulary"

$object: The item on which $op is being performed.

Return value

None for delete, insert and update. For operations "form", a $form object containing the form api elements that you wish to display on the form.

Related topics

1 function implements hook_taxonomy()

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

forum_taxonomy in modules/forum.module
Implementation of hook_taxonomy().
9 invocations of hook_taxonomy()
blogapi_metaweblog_get_category_list in modules/blogapi.module
Blogging API callback. Returns a list of the taxonomy terms that can be associated with a blog node.
blogapi_mt_get_post_categories in modules/blogapi.module
Blogging API callback. Returns a list of the taxonomy terms that are assigned to a particular node.
node_filter_form in modules/node.module
Return form for node administration filters.
taxonomy_del_term in modules/taxonomy.module
taxonomy_del_vocabulary in modules/taxonomy.module

... See full list

File

developer/hooks/core.php, line 963
These are the hooks that are invoked by the Drupal core.

Code

function hook_taxonomy($op, $type, $object = NULL) {
  if ($type == 'vocabulary' && ($op == 'insert' || $op == 'update')) {
    if (variable_get('forum_nav_vocabulary', '') == '' && in_array('forum', $object['nodes'])) {

      // since none is already set, silently set this vocabulary as the navigation vocabulary
      variable_set('forum_nav_vocabulary', $object['vid']);
    }
  }
}