2
votes

Obtenez le nom de la catégorie de publication actuelle à l'intérieur de la boucle while

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; ?>


2 commentaires

Vous avez besoin de la fonction wp_get_post_terms () .


@Sky Cet homme a travaillé ... merci beaucoup


3 Réponses :


0
votes

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 >


2 commentaires

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



0
votes

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 );   
}


1 commentaires

j'ai besoin du nom de la catégorie de publication et non du lien



0
votes

Mettez ceci à l'intérieur de la boucle While

  global $post;
  $postcat = get_the_category( $post->ID );


0 commentaires