2010-07-19 33 views
0

我在WordPress中制作了一个自定义循环,出于某种原因,日期会随机跳过,尽管其他文章内容每次都能成功引入。WordPress the_date跳过循环内的间隔

任何想法,因为它完全让我莫名其妙!

例如,文章列表,当日期丢失:

  1. 日期
  2. 日期
  3. 没有日期
  4. 日期
  5. 日期
  6. 没有日期
  7. 日期
  8. 不是TE
  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;?> 
+0

随机,你的意思是每次刷新后发布的日期与前一页加载的时间完全不同? – BoltClock 2010-07-19 11:11:32

+0

不,它们按我在列表中指定的顺序排列。我应该改变这个问题,因为它是误导性的。 – theorise 2010-07-19 11:13:25

回答

6

一个可能的原因可能是没有日期的连续的帖子都发表了关于在同一天,他们都会立即跟随一个日期。

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

就我所见,the_date()是如何工作的。它仅在循环中打印一次唯一的日期。

我解决它有两种方法:

  • 使用the_time()代替the_date(),并指定一个完整的日期格式,或
  • 刚过我the_post()电话呼叫unset($previousday)
+0

你先生,太棒了,听起来好像你碰到了头上的钉子。我现在就试一试。谢谢! – theorise 2010-07-19 11:30:59

+0

我在前一天添加了未设置的循环,并且它工作得很好。感谢您揭开这个谜团! – theorise 2010-07-19 11:46:50

+0

不客气:) – BoltClock 2010-07-19 11:48:43

0

截至2017年,还有另一种更简单的解决方案。您可以简单地使用:

echo get_the_date(); 

而不是the_date();。对我而言,只有与日期不同的日期才会显示完全相同的问题。