J'ai créé un type de message personnalisé "stm_media_gallery" Et trois catégories dans ce type de publication personnalisé. Je souhaite afficher le nom de la catégorie associé à chaque message.
<?php $gallery_query = new WP_Query( array('post_type' => 'stm_media_gallery', 'posts_per_page' => -1) ); if( $gallery_query->have_posts() ) : while( $gallery_query->have_posts() ) : $gallery_query->the_post(); ?> --Display post name and its category name <?php endif; ?> <?php endwhile; ?>
3 Réponses :
Il vous suffit de mettre le code suivant dans la boucle:
<?php $gallery_query = new WP_Query( array('post_type' => 'stm_media_gallery', 'posts_per_page' => -1) ); if( $gallery_query->have_posts() ) : while( $gallery_query->have_posts() ) : $gallery_query->the_post(); $gallery_category = get_the_category( get_the_ID() ); the_title( '<h3>', '</h3>' ); echo "<br>"; <?php foreach ( $gallery_category as $key => $value) { echo $value->category_nicename; } ?> <?php endif; ?> <?php endwhile; ?>
Mise à jour dans le code existant
<div> <?php foreach((get_the_category()) as $category){ echo $category->name."<br>"; echo category_description($category); } ?> </div>
p >
get_the_category () est pour la taxe de catégorie
uniquement. Dans ce cas, nous avons besoin de wp_get_post_terms ()
lorsqu'elle est cochée, "gallery_category" renvoie un tableau vide
Vous pouvez utiliser la fonction WordPress prédéfinie the_category ($ separator, $ parents, $ post_id)
pour imprimer les catégories d'articles sous forme de liens.
Plus d'informations sur le Codex WordPress: Référence de la fonction: the_category
Edit: Imprimer uniquement les noms:
$categories = get_the_category(); if ( ! empty( $categories ) ) { echo esc_html( $categories->name ); }
j'ai besoin du nom de la catégorie de publication et non du lien
Mettez ceci à l'intérieur de la boucle While
global $post; $postcat = get_the_category( $post->ID );
Vous avez besoin de la fonction wp_get_post_terms () .
@Sky Cet homme a travaillé ... merci beaucoup