2010-07-19 56 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();。對我而言,只有與日期不同的日期纔會顯示完全相同的問題。