Comment obtenir l'identifiant actuel du terme de taxonomie sur WordPress?


120

J'ai créé une page taxonomy.php dans mon dossier de thèmes WordPress. Je voudrais obtenir l'identifiant actuel du terme pour une fonction. Comment puis-je l'obtenir?

get_query_var('taxonomy') ne renvoie que le terme slug, je veux l'ID

Réponses:


304

Ça ne fait rien! Je l'ai trouvé :)

get_queried_object()->term_id;

4
Génial! Cela m'a fait gagner beaucoup de temps: D
MavBzh

Merci beaucoup!
Anahit Ghazaryan

26
Vous pouvez également simplement utiliser get_queried_object_id()pour récupérer uniquement l'ID. Extrait entier serait$term_id = get_queried_object_id();
David

Bonne réponse . Récemment, je vois une question dans l'échange de pile WordPress. Pourriez-vous s'il-vous-plaît vérifier . wordpress.stackexchange.com/questions/214453/…

Merci beaucoup
FaISalBLiNK

42

Simple et facile!

get_queried_object_id()

3
get_queried_object_id () a été introduit dans la version 3.1.0 (23 février 2011) et devrait être la bonne réponse à la question posée. > taxonomy.phppage dans mon dossier de modèles wordpress, je voudrais obtenir le courant term idpour une fonction.
Pea

1
Oui, cette réponse était parfaite
Gendrith

39

Voici l'extrait de code complet nécessaire:

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

14

Copiez simplement le code ci-dessous!

Cela imprimera le nom et la description de votre taxonomie actuelle (facultatif)

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

11

Si vous êtes dans la page de taxonomie.

C'est ainsi que vous obtenez tous les détails sur la taxonomie.

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

Voici comment obtenir l'identifiant de la taxonomie

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

Mais si vous êtes en page de message (taxomonie -> enfant)

$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

C'est le terme slug que vous voulez. On dirait que vous pouvez obtenir l'identifiant comme ceci si c'est ce dont vous avez besoin:

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 );
        }
    }
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.