J'ai essayé de cette façon d'afficher NON de poste:
<?php
$news_2 = new WP_Query( array ('post_type'=> 'jobs','posts_per_page'=> '10' , 'meta_key' => 'status_for_jobs','meta_value' => '1') );
if ( $news_2->have_posts() ) { while ( $news_2->have_posts() ) { $news_2->the_post();
$count = $news_2->post_count;
?>
<li><h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3></li>
<?php } } ?> <?php wp_reset_query(); ?>
si le NO de post = 0 j'ai besoin d'afficher ceci: -
<?php
$news_2 = new WP_Query( array ('post_type'=> 'jobs','posts_per_page'=> '10' , 'meta_key' => 'status_for_jobs','meta_value' => '1') );
if ( $news_2->have_posts() ) { while ( $news_2->have_posts() ) { $news_2->the_post();
$count = $news_2->post_count;
if ($count == '0') {
?>
<li><h3><a href="javascript:void(0)">No Post</a></h3></li>
<?php
} else {
?>
<li><h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3></li>
<?php } ?>
<?php } } ?> <?php wp_reset_query(); ?>
Mais au lieu du total des messages, je ne reçois rien.
Des suggestions pour résoudre ce problème?
Réponses:
Quelques informations supplémentaires, pas besoin de compter à nouveau les messages, car
WP_Query
déjà fait pour vous. Pour clarifier cela, certaines informations de la référence de classe seWP_Query
trouvent dans la section »Propriétés«:Ce que cela signifie
$post_count
ne vous donnera pas le nombre total de messages. Il vous donnera très probablement le nombre de publications que vous avez définies avec lepost_per_page
paramètre, sauf si vous avez moins de publications que cela ou que vous êtes sur la dernière page et qu'il ne reste que moins de publications.$found_posts
peut être utilisé pour obtenir le nombre total de messages liés à une requête spécifique. Il n'est donc pas nécessaire de les compter à nouveau.Dans votre cas, vous pouvez obtenir le nombre total dans votre
$count
variable comme ceci:En plus de cela, @helgatheviking a raison de dire que, d'après ce que vous avez montré dans votre question, vous n'avez pas besoin d'un conditionnel supplémentaire, mais pouvez simplement utiliser la
have_posts()
méthode, dans le conditionnel que vous avez déjà, pour cela, comme elle l'a suggéré.la source
Vous n'avez pas besoin de compter les messages pour afficher quelque chose de différent si aucun message n'est trouvé. Vous pouvez simplement utiliser la
else
partie de votreif($news_2->have_posts())
chèque.Mais si vous avez vraiment besoin de compter le nombre de messages retournés, vous pouvez utiliser
la source