J'ai créé une page taxonomy.php dans mon dossier de modèles wordpress. J'aimerais obtenir l'identifiant du terme courant pour une fonction. Comment puis-je l'obtenir?
get_query_var('taxonomy')
ne renvoie que le terme slug, je veux l'identifiant
Ça ne fait rien! Je l'ai trouvé :)
get_queried_object()->term_id;
Voici l'extrait de code complet nécessaire:
$queried_object = get_queried_object();
$term_id = $queried_object->term_id;
Simple et facile!
get_queried_object_id()
Il suffit de copier coller ci-dessous le code!
Ceci imprimera votre nom de taxonomie actuel et sa description (facultatif)
<?php
$tax = $wp_query->get_queried_object();
echo ''. $tax->name . '';
echo "<br>";
echo ''. $tax->description .'';
?>
<?php
$terms = get_the_terms( $post->ID, 'taxonomy');
foreach ( $terms as $term ) {
$termID[] = $term->term_id;
}
echo $termID[0];
?>
Voir wp_get_post_terms () , vous feriez quelque chose comme ceci:
global $post;
$terms = wp_get_post_terms( $post->ID, 'YOUR_TAXONOMY_NAME',array('fields' => 'ids') );
print_r($terms);
Si vous êtes dans la page 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 vous obtenez l'id de taxonomie
$termId = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) )->term_id;
Mais si vous êtes en post page (taxomony -> child)
$terms = wp_get_object_terms( get_queried_object_id(), 'taxonomy-name');
$term_id = $terms[0]->term_id;
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 );
}
}