Veja mais um guia completo com base no objeto $wp_query
:
A taxonomia
Primeiro, convém saber em qual taxonomia você está, qual é o nome dele e recuperar todos os dados disponíveis do objeto.
// Taxonomy name
$taxonomy = get_query_var( 'taxonomy' );
// Taxonomy object
get_taxonomy( $taxonomy );
// Taxonomy name
get_taxonomy( $taxonomy )->label;
O táxon / termo
Então você pode querer fazer algo com o taxon / termo atual.
// The current taxon/term slug
$term_slug = get_query_var( 'term' );
// The complete current taxon/term object
$term = get_term_by( 'slug', $term_slug, $taxonomy );
Os antepassados / pais
Obter os antepassados / pais oferece muitas possibilidades. Por exemplo, para uma navegação de trilha de navegação ou postar metadados ou simplesmente filtrá-los para fora da lista de taxonomias mostradas.
// Ancestors/Parents
$ancestors = get_ancestors(
$term->term_id
,$taxonomy
);
foreach ( $ancestors as $ancestor )
{
// The currently looped parents/ancestors object
$ancestor_obj = get_term( $ancestor, $taxonomy );
// The currently looped parents/ancestors name
$ancestor_name = $ancestor_obj->name;
// Link to the parent/ancestor taxon/term archive
$ancestor_link = get_term_link( $ancestor, $taxonomy )
}
É uma taxonomia hierárquica?
Você sempre terá que distinguir entre taxonomias hierárquicas (como categoria) e simples (postar tags como).
// Are we in a hierarchical taxonomy?
if ( is_taxonomy_hierarchical( $taxonomy ) )
{
// Do stuff
}
Temos filhos, minha querida?
Às vezes você está no meio de uma taxonomia hierárquica realmente profundamente aninhada. Então faz sentido lidar com as crianças também.
// Based on the above retrieved data
$children = get_term_children(
$term->term_id
,$taxonomy
);
foreach ( $children as $child )
{
// The currently looped child object
$child_obj = get_term( $child, $taxonomy );
// The currently looped child name
$child_name = $child_obj->name;
// Link to the child taxon/term archive
$child_link = get_term_link( $child, $taxonomy );
}