0

当没有帖子存在时,我习惯于在 else 之后看到消息,我不确定为什么它现在没有显示?

代码:

<?php
     $args = array( 'post_type' => 'event', 'posts_per_page' => 1, 'post_status' => 'future', 'order' => 'ASC' );
     $loop = new WP_Query( $args );
     if ( have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post();
  ?>
  <div class="event_preview_title"><?php the_title(); ?></div>
  <div class="event_details">
    <div class="event_date"><?php the_time('m/d/y'); ?></div>
    <div class="event_time"><?php the_time('g:i A'); ?></div>
  </div>
  <?php the_post_thumbnail( array(65,65) ); ?>
  <a class="clickthrough" href="<?php bloginfo('wpurl'); ?>/events"></a>
  <?php endwhile; else: ?>
        <p>Bluebird Books may be coming soon to a neighborhood near you!<br />
We are currently on hiatus planning our next season's schedule. New tour dates will be posted to this page once confirmed. Meanwhile, inquiries about appearances and programs are welcomed! If you are interested in having Bluebird visit your business, school, or special event, please contact us.</p>
  <?php endif; ?>

谢谢!

4

2 回答 2

4

你做了一个特别的WP_Query,但正在检查错误的帖子

if ( have_posts() )

应该

if ( $loop->have_posts() )
于 2012-10-12T21:32:46.493 回答
2

我不确定当你使用奇怪的 if/while 语法时会发生什么,但是:

endwhile;

认为endwhile正在结束while循环,并且;正在结束if语句。我建议使用标准{}语法,这样这样的东西会更容易阅读:

<?php
    $args = array( 'post_type' => 'event', 'posts_per_page' => 1, 'post_status' => 'future', 'order' => 'ASC' );
    $loop = new WP_Query( $args );
    if (have_posts()) {
        while ( $loop->have_posts() ) {
            $loop->the_post();
?>
  <div class="event_preview_title"><?php the_title(); ?></div>
  <div class="event_details">
    <div class="event_date"><?php the_time('m/d/y'); ?></div>
    <div class="event_time"><?php the_time('g:i A'); ?></div>
  </div>
<?php
            the_post_thumbnail( array(65,65) );
?>
  <a class="clickthrough" href="<?php bloginfo('wpurl'); ?>/events"></a>
<?php
        }
    } else {
?>
        <p>Bluebird Books may be coming soon to a neighborhood near you!<br />
We are currently on hiatus planning our next season's schedule. New tour dates will be posted to this page once confirmed. Meanwhile, inquiries about appearances and programs are welcomed! If you are interested in having Bluebird visit your business, school, or special event, please contact us.</p>
<?php
    }
?>
于 2012-10-12T21:20:41.590 回答