Why does this code work for the current term but not the parent term?
If you check out the docs for taxonomy_get_parents() you can see that the return value is an array of parent terms.

So you might loop through the results like this:

$parents = taxonomy_get_parents($current-&gt;tid);
foreach ($parents as $parent) {
  echo $parent-&gt;name;
}


or use just the first one like this:

$parents = taxonomy_get_parents($current-&gt;tid);
if ($parents) {
  echo $parents[0]-&gt;name;
}