2013-04-09 5 views
0

Я показываю массив сообщений по следующему коду. Когда нет сообщений для отображения, я хочу распечатать уведомление, например. «Нет сообщений для отображения». Как это может быть сделано?Как отправить сообщение, если нет сообщений для отображения

<?php 
    while (have_posts()) : 
     the_post(); 
?> 
     <h1><?php the_title();?></h1> 
     <section class="intro"> 
     <?php the_content(); ?> 
     </section> 
<?php endwhile; // end of the loop. ?> 
     <h2>Latest Events</h2> 

<?php 
    query_posts(array('category__and' => array(8))); 
    if (have_posts()) while (have_posts()) : 
     the_post(); 
?> 

     <article class="events clearfix"> 
      <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1> 
      <?php the_excerpt(); ?> 
      <div class="date"> 
       <span class="month"><?php the_time('M') ?></span> 
       <span class="day"><?php the_time('d') ?></span> 
      </div> 
     </article> 


<?php endwhile; ?> 

ответ

0

have_posts() возвращается true при наличии сообщений для отображения и false когда нет какой-либо (см Documentation).

Вы можете легко оценить значение этого и соответствующим образом отобразить свое сообщение. Например:

if(!have_posts()) 
{ 
    echo 'No posts to display&hellip;'; 
} 
else 
{ 
    // code to display your posts here. 
} 
1

В вашем примере вы должны изменить код следующим образом:

// Display latest events 
// ... 
if (have_posts()) { 
    // ... 
} else { 
    echo '<article class="events clearfix">'; 
    echo '<p>No posts to display.</p>'; 
    echo '</article>'; 
} 
Смежные вопросы