WordPress the_date在循环内间隔跳过

the*_*ise 0 html php wordpress

我已经在WordPress中进行了自定义循环,出于某种原因,即使其他帖子内容每次都被成功提取,也会随机跳过日期.

任何想法,因为它完全令我困惑!

例如,帖子列表以及缺少日期的时间:

  1. 日期
  2. 日期
  3. 无日期
  4. 日期
  5. 日期
  6. 无日期
  7. 日期
  8. 无日期
  9. 无日期
  10. 无日期

这是代码,包括所有循环:

    <?php query_posts('category_name=News&posts_per_page=10'); ?>
    <?php while (have_posts()) : the_post(); ?> 

    <article>
        <div>
            <p>PUBLISHED: <?php the_date(); ?></p>
            <h4><a class="news_title_link" href="<?php the_permalink();?>"><?php the_title();?></a></h4>
            <?php the_excerpt(); ?>
            <br />
            <a href="<?php the_permalink();?>">Read more</a>
        </div>  
        <div>
        <?php if ( function_exists( 'get_the_image' ) ) { get_the_image(array('default_size' => 'thumbnail','default_image' => '/wp-content/uploads/2010/06/default-thumb.jpg'));} ?>
        </div>
    </article>

    <?php endwhile; ?>
    <?php endif;?>
Run Code Online (Sandbox Code Playgroud)

Bol*_*ock 6

一个可能的原因可能是没有日期的连续帖子都在与他们都紧接着的日期相同的那一天发布.

在您的示例中,第二个和第三个帖子可能具有相同的发布日期,这导致第三个帖子不显示日期.同样,帖子7到10可以共享相同的发布日期,这导致最后三个帖子不显示日期.

据我所知,这是the_date()有效的.它在整个循环中只打印一次唯一的日期.

我通过以下方式解决它:

  • 使用the_time()而不是the_date()指定完整的日期格式,或
  • 调用unset($previousday)只是我的后the_post()呼叫