taxonomy_link

Versions
5 – 6
taxonomy_link($type, $node = NULL)

Implementation of hook_link().

This hook is extended with $type = 'taxonomy terms' to allow themes to print lists of terms associated with a node. Themes can print taxonomy links with:

if (module_exists('taxonomy')) { $terms = taxonomy_link('taxonomy terms', $node); print theme('links', $terms); }

▾ 7 functions call taxonomy_link()

chameleon_node in 5/themes/chameleon/chameleon.theme
i18ntaxonomy_views_handler_field_allterms in contributions/i18n/contrib/i18ntaxonomy.module
Field handler for taxonomy term fields
phptemplate_node in 5/themes/engines/phptemplate/phptemplate.engine
Prepare the values passed to the theme_node function to be passed into a pluggable template engine.
project_page_overview in contributions/project/project.module
taxonomy_image_handler_field_allterms in contributions/taxonomy_image/taxonomy_image.module
Display all the terms for a given vocabulary
theme_node in 5/includes/theme.inc
Return a themed node.
views_handler_field_allterms in contributions/views/modules/views_taxonomy.inc
Display all the terms for a given vocabulary

Code

5/modules/taxonomy/taxonomy.module, line 27

<?php
function taxonomy_link($type, $node = NULL) {
  if ($type == 'taxonomy terms' && $node != NULL) {
    $links = array();
    if (array_key_exists('taxonomy', $node)) {
      foreach ($node->taxonomy as $term) {
        $links['taxonomy_term_'. $term->tid] = array(
          'title' => $term->name,
          'href' => taxonomy_term_path($term),
          'attributes' => array('rel' => 'tag', 'title' => strip_tags($term->description))
        );
      }
    }

    // We call this hook again because some modules and themes call taxonomy_link('taxonomy terms') directly
    foreach (module_implements('link_alter') as $module) {
      $function = $module .'_link_alter';
      $function($node, $links);
    }

    return $links;
  }
}
?>