既にwp_list_categoriesにより解決された様ですが、
最初のソースの点について書いておきます。
まず最初のエラーは(33行目の部分)は
<li><a href="<?php echo $term_link;>"><?php echo $term_title;?></a></li>
の部分で正しくは
<li><a href="<?php echo $term_link; ?>"><?php echo $term_title;?></a></li>
となり、PHPの閉じタグ漏れだと思います。
あと、その後の廻し方自体は
get_terms後にforeachで廻している所
$term_link = get_term_link($term_obj->ID);
が
$term_link = get_term_link(intval($term_obj->term_id), 'staff');
とかにしておかないと、おそらくエラーになります。要点は
・IDじゃなくterm_id
・get_term_link内はis_intでスラッグ名かIDの判定を行っているのでintvalで要整数値化
・第二引数のタクソノミー省略はエラー
だと思います。横やりスミマセン。
$chain .= 'term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $parent->name ) ) . '">'.$name.'' . $separator;
の部分でPHPエラーになっているのでは?
割り込みで失礼します。
おそらくですが、
return count($comments_by_type[‘comment’]);
の部分を
return count($comments_by_type[‘trackback’]);
にすれば良いかと。