Como obtenho a id do termo de taxonomia atual no WordPress?


120

Criei uma página taxonomy.php na minha pasta de temas do WordPress. Gostaria de obter o id do termo atual para uma função. Como posso conseguir isso?

get_query_var('taxonomy') retorna apenas o termo slug, quero o ID

Respostas:


304

Deixa pra lá! Eu encontrei :)

get_queried_object()->term_id;

4
Ótimo! Isso me economizou muito tempo: D
MavBzh

Muito obrigado!
Anahit Ghazaryan

26
Você também pode usar apenas get_queried_object_id()para recuperar apenas o ID. O trecho inteiro seria$term_id = get_queried_object_id();
David,

Boa resposta . Recentemente, vi uma pergunta na troca de pilha do WordPress. Você poderia verificar. wordpress.stackexchange.com/questions/214453/…

Muito obrigado
FaISalBLiNK

42

Simples e fácil!

get_queried_object_id()

3
get_queried_object_id () foi introduzido em 3.1.0 (23 de fevereiro de 2011) e deve ser a resposta correta para a pergunta feita. > taxonomy.phppágina na minha pasta de modelos do wordpress, gostaria de obter o atual term idpara uma função.
Pea

1
Sim, essa resposta foi perfeita
Gendrith

39

Aqui está todo o snippet de código necessário:

$queried_object = get_queried_object();
$term_id = $queried_object->term_id;

14

Basta copiar e colar o código abaixo!

Isso imprimirá seu nome de taxonomia atual e descrição (opcional)

<?php 
   $tax = $wp_query->get_queried_object();
   echo ''. $tax->name . '';
   echo "<br>";
   echo ''. $tax->description .''; 
?>

11

Se você estiver na página de taxonomia.

É assim que você obtém todos os detalhes sobre a taxonomia.

get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );

É assim que você obtém o id de taxonomia

$termId = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) )->term_id;

Mas se você estiver na página de postagem (taxomonia -> criança)

$terms = wp_get_object_terms( get_queried_object_id(), 'taxonomy-name');
$term_id = $terms[0]->term_id;

7
<?php 
$terms = get_the_terms( $post->ID, 'taxonomy');
foreach ( $terms as $term ) {
    $termID[] = $term->term_id;
}
echo $termID[0]; 
?>


1

É o termo slug que você deseja. Parece que você pode obter o id assim se for necessário:

function get_term_link( $term, $taxonomy = '' ) {
    global $wp_rewrite;

    if ( !is_object($term) ) {
        if ( is_int( $term ) ) {
            $term = get_term( $term, $taxonomy );
        } else {
            $term = get_term_by( 'slug', $term, $taxonomy );
        }
    }
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.