Come posso ottenere l'ID del termine della tassonomia corrente su WordPress?


120

Ho creato una pagina taxonomy.php nella mia cartella del tema WordPress. Vorrei ottenere l'ID del termine corrente per una funzione. Come posso ottenerlo?

get_query_var('taxonomy') restituisce solo il termine slug, voglio l'ID

Risposte:


304

Non importa! L'ho trovato :)

get_queried_object()->term_id;

4
Grande! Questo mi ha fatto risparmiare molto tempo: D
MavBzh

Grazie mille!
Anahit Ghazaryan

26
Puoi anche usare solo get_queried_object_id()per recuperare solo l'ID. L'intero snippet sarebbe$term_id = get_queried_object_id();
David

Buona risposta . Recentemente vedo una domanda nello scambio di stack di WordPress. Potresti verificare, per favore . wordpress.stackexchange.com/questions/214453/…

Grazie mille
FaISalBLiNK

42

Semplice e facile!

get_queried_object_id()

3
get_queried_object_id () è stato introdotto nella 3.1.0 (23 febbraio 2011) e dovrebbe essere la risposta corretta alla domanda posta. > taxonomy.phppagina nella mia cartella dei modelli di wordpress, vorrei ottenere la corrente term idper una funzione.
Pea

1
Sì, questa risposta era perfetta
Gendrith

39

Ecco l'intero snippet di codice necessario:

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

14

Basta copiare incollare sotto il codice!

Questo stamperà il nome e la descrizione della tassonomia corrente (opzionale)

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

11

Se sei nella pagina della tassonomia.

È così che ottieni tutti i dettagli sulla tassonomia.

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

Ecco come ottenere l'ID tassonomia

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

Ma se sei nella pagina di post (tassomonia -> bambino)

$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

È il termine lumaca che vuoi. Sembra che tu possa ottenere l'ID in questo modo se è quello che ti serve:

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 );
        }
    }
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.