Function get_term_parents() for WordPress

function get_term_parents( $id, $taxonomy, $link = false, $separator = '/', $nicename = false, $visited = array() ) {
  $chain = '';
  $parent = &get_term( $id, $taxonomy );
  if ( is_wp_error( $parent ) )
    return $parent;
  if ( $nicename )
    $name = $parent->slug;
  else
    $name = $parent->name;
  if ( $parent->parent && ( $parent->parent != $parent->term_id ) && !in_array( $parent->parent, $visited ) ) {
    $visited[] = $parent->parent;
    $chain .= get_term_parents( $parent->parent, $taxonomy, $link, $separator, $nicename, $visited );
  }
  if ( $link )
    $chain .= '<a href="' . esc_url( get_term_link( intval( $parent->term_id ), $taxonomy ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $parent->name ) ) . '">'.$name.'</a>' . $separator;
  else
    $chain .= $name.$separator;
  return $chain;
}