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
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:
Ça ne fait rien! Je l'ai trouvé :)
get_queried_object()->term_id;
get_queried_object_id()
pour récupérer uniquement l'ID. Extrait entier serait$term_id = get_queried_object_id();
Simple et facile!
get_queried_object_id()
taxonomy.php
page dans mon dossier de modèles wordpress, je voudrais obtenir le courant term id
pour une fonction.
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 .'';
?>
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;
<?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);
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 );
}
}