Same name and namespace in other branches
- 4.6.x developer/hooks/core.php \hook_taxonomy()
- 4.7.x developer/hooks/core.php \hook_taxonomy()
- 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"
$type: What manner of item $object is. Possible values:
- "term"
- "vocabulary"
$array: The item on which $op is being performed. Possible values:
- for vocabularies, 'insert' and 'update' ops: $form_values from taxonomy_form_vocabulary_submit()
- for vocabularies, 'delete' op: $vocabulary from taxonomy_get_vocabulary() cast to an array
- for terms, 'insert' and 'update' ops: $form_values from taxonomy_form_term_submit()
- for terms, 'delete' op: $term from taxonomy_get_term() cast to an array
Return value
None.
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/ forum.module - Implementation of hook_taxonomy().
7 invocations of hook_taxonomy()
- blogapi_metaweblog_get_category_list in modules/
blogapi/ 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/ 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/ node.module - Return form for node administration filters.
- taxonomy_del_term in modules/
taxonomy/ taxonomy.module - Delete a term.
- taxonomy_del_vocabulary in modules/
taxonomy/ taxonomy.module - Delete a vocabulary.
File
- developer/
hooks/ core.php, line 1328 - These are the hooks that are invoked by the Drupal core.
Code
function hook_taxonomy($op, $type, $array = NULL) {
if ($type == 'vocabulary' && ($op == 'insert' || $op == 'update')) {
if (variable_get('forum_nav_vocabulary', '') == '' && in_array('forum', $array['nodes'])) {
// since none is already set, silently set this vocabulary as the
// navigation vocabulary
variable_set('forum_nav_vocabulary', $array['vid']);
}
}
}