Respostas:
Sim, basta passar o parâmetro pai para get_terms
quando você o chamar, como apontou Michael.
Desde o WP 4.5, este é o uso recomendado:
$myterms = get_terms( array( 'taxonomy' => 'taxonomy_name', 'parent' => 0 ) );
Antes do WP 4.5, esse era o uso padrão:
$myterms = get_terms( 'taxonomy_name_here', array( 'parent' => 0 ) );
Retornará todos os termos que tenham um valor pai de 0
, ie. termos de nível superior.
hide_empty
parâmetro, configurando-o 0
também para que você possa ver os termos não utilizados no momento.
get_ancestors(TERM_ID, TAXONOMY, 'taxonomy')
developer.wordpress.org/reference/functions/get_ancestors
use o parâmetro 'parent':
http://codex.wordpress.org/Function_Reference/get_terms
ou
http://codex.wordpress.org/Function_Reference/get_categories
para modelos de email de woocommerce, use o seguinte:
$terms = get_the_terms( $_product->id , 'product_cat');
if($terms) {
foreach( $terms as $term ) {
$term = get_term_by("id", $term->parent, "product_cat");
if ($term->parent > 0) {
$term = get_term_by("id", $term->parent, "product_cat");
}
$cat_obj = get_term($term->term_id, 'product_cat');
$cat_name = $cat_obj->name;
}
}
echo '<br />('. $cat_name . ')';
$archive_cats= get_terms( 'archivecat', 'orderby=count&hide_empty=0&parent=0' );