function wc_origin_trail_ancestor($link = false, $trail = false) {
if (is_product_category()) {
global $wp_query;
$q_obj = $wp_query - > get_queried_object();
$cat_id = $q_obj - > term_id;
$descendant = get_term_by("id", $cat_id, "product_cat");
$descendant_id
= $descendant - > term_id;
$ancestors = get_ancestors($cat_id, 'product_cat');
$ancestors = array_reverse($ancestors);
$origin_ancestor = get_term_by("id", $ancestors[0], "product_cat");
$origin_ancestor_id = $origin_ancestor - > term_id;
$ac = count($ancestors);
} else if (is_product()) {
$descendant = get_the_terms($post - > ID, 'product_cat');
$descendant = array_reverse($descendant);
$descendant = $descendant[0];
$descendant_id = $descendant - > term_id;
$ancestors = array_reverse(get_ancestors($descendant_id,
'product_cat'));
$ac = count($ancestors);
}
$c = 1;
if ($trail == false) {
$origin_ancestor_term = get_term_by("id", $ancestors[0], "product_cat");
$origin_ancestor_link = get_term_link($origin_ancestor_term - > slug, $origin_ancestor_term - > taxonomy);
if ($link == true) echo '<a href="'.$origin_ancestor_link.
'">';
echo $origin_ancestor_term - > name;
if ($link == true) echo '</a>';
} else {
foreach($ancestors as $ancestor) {
$ancestor_term = get_term_by("id", $ancestor, "product_cat");
$ancestor_link =
get_term_link($ancestor_term - > slug, $ancestor_term - > taxonomy);
if ($c++ == 1) echo '» ';
else if ($c++ != 1 || $c++ != $ac) echo ' » ';
if ($link == true) echo '<a href="'.$ancestor_link.
'">';
echo $ancestor_term - > name;
if ($link == true) echo '</a>';
}
$descendant_term = get_term_by("id", $descendant_id, "product_cat");
$descendant_link = get_term_link($descendant_term - > slug, $descendant_term - > taxonomy);
echo ' » ';
if ($link == true) echo '
<a href="'. $descendant_link .'">'; echo $descendant->name; if($link == true) echo '</a>'; } }