web-dev-qa-db-fra.com

Afficher le terme de taxonomie actuel dans le type de message personnalisé

Eh bien, cela devrait être assez simple, mais je n’ai trouvé aucune réponse sur le Web. toutes les réponses que j'ai trouvées étaient proches mais pas exactement ce dont j'avais besoin. ce dont j'ai besoin, c'est d'afficher uniquement le terme actuel d'un type d'article personnalisé dans lequel je me trouve. tous les termes ne sont pas identiques! (le pertinent)

c'est ce que j'utilise mais il affiche TOUS les termes, ce qui n'est pas bon pour moi:

<?php
$taxonomy = 'genre';
$queried_term = get_query_var($taxonomy);
$terms = get_terms($taxonomy, 'slug='.$queried_term);
if ($terms) {
  foreach($terms as $term) {
    echo $term->name;
  }
}
?>

rappelez-vous - je voudrais l'afficher dans mon modèle de type message unique que quelqu'un peut-il suggérer? Merci

4
gil hamer

Ok, alors j'ai enfin trouvé ce dont j'avais besoin ici: Comment obtenir le terme actuel dans ma taxonomie personnalisée dans WordPress?

la dernière mise à jour au bas de @ user3208:

<?php   // Get terms for post
 $terms = get_the_terms( $post->ID , 'oil' );
 // Loop over each item since it's an array
 if ( $terms != null ){
 foreach( $terms as $term ) {
 // Print the name method from $term which is an OBJECT
 print $term->slug ;
 // Get rid of the other data stored in the object, since it's not needed
 unset($term);
} } ?>

Cela a résolu mon problème! Merci

11
gil hamer

Vous devriez utiliser wp_get_post_terms à la place.

$terms = wp_get_post_terms( $post_id, $taxonomy, $args );

get_terms vous donnera tous les termes présents dans une taxonomie.

UPDATE:

global $post;
$terms = wp_get_post_terms( $post->ID, 'genre');
print_r($terms); #displays the output
4
RRikesh

En prenant ce que user3208 a codé, j'ai ajouté un peu de code qui ajoute l'URL au terme. J'espère que ça aide quelqu'un.

<?php   // Get terms for post
$terms = get_the_terms( $post->ID , 'oil' );
// Loop over each item since it's an array
if ( $terms != null ){
foreach( $terms as $term ) {
$term_link = get_term_link( $term, 'oil' );
 // Print the name and URL
echo '<a href="' . $term_link . '">' . $term->name . '</a>';
// Get rid of the other data stored in the object, since it's not needed
unset($term); } } ?>