public static function get_taxonomy_parents($term, $taxonomy = 'category', $link = false, $separator = '/', $nicename = false, $visited = array())
{
$chain = '';
$parent = get_term($term, $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 .= CPTP_Util::get_taxonomy_parents($parent->parent, $taxonomy, $link, $separator, $nicename, $visited);
}
if ($link) {
$chain .= '<a href="' . get_term_link($parent->term_id, $taxonomy) . '" title="' . esc_attr(sprintf(__('View all posts in %s'), $parent->name)) . '">' . esc_html($name) . '</a>' . esc_html($separator);
} else {
$chain .= $name . $separator;
}
return $chain;
}