web-dev-qa-db-fra.com

Afficher la taxonomie de la catégorie de type de publication personnalisée

J'ai un type de message personnalisé et une taxonomie qui permet à l'utilisateur de sélectionner la catégorie dans laquelle le message se trouve.

Voici ma taxonomie personnalisée:

add_action( 'init', 'create_talcat_taxonomy', 0);
function create_Talcat_taxonomy()
{
    register_taxonomy ( 'Talcat', 'artist', array( 'hierarchical' =>
    true, 'label' => 'Categories', 'query_var' => true, 'rewrite' => true )
);
}

Sur ma page d’accueil, j’interroge l’artiste post_type =, qui fonctionne bien et affiche mes publications d’artiste. Cependant, comment puis-je imprimer/afficher le nom de la catégorie à laquelle la publication appartient, puis créer un lien vers cette page de catégorie?

1
user2648610

Je pense que vous parlez de termes, pas de catégories. Vous pouvez utiliser wp_list_categories pour récupérer et afficher les termes auxquels une publication appartient.

Voici un exemple de travail tiré du codex. N'oubliez pas que la variable $taxonomy peut être remplacée par category ou par une taxonomie personnalisée.

<?php
$taxonomy = 'YOUR TAXONOMY NAME';

// get the term IDs assigned to post.
$post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) );
// separator between links
$separator = ', ';

if ( !empty( $post_terms ) && !is_wp_error( $post_terms ) ) {

   $term_ids = implode( ',' , $post_terms );
   $terms = wp_list_categories( 'title_li=&style=none&echo=0&taxonomy=' . $taxonomy . '&include=' . $term_ids );
   $terms = rtrim( trim( str_replace( '<br />',  $separator, $terms ) ), $separator );

    // display post categories
 echo  $terms;
}
?>

Juste un conseil, n'utilisez pas de lettres majuscules dans votre nom de taxonomie lors de son enregistrement. Cela pose des problèmes la plupart du temps

2
Pieter Goosen

J'ai réussi à trouver un moyen simple et propre d'imprimer le terme de taxonomie attribué à la publication avec les éléments suivants:

<?php the_terms( $post->ID, 'TAXONOMY NAME', ' ', ' / ' ); ?>

Utiliser terme récupère les termes associés à l'objet ou aux objets donnés, dans les taxonomies fournies.

Voici un lien vers le codex avec des exemples et des détails supplémentaires.

3
user2648610