2015-04-06 55 views
1

我有我的循環,不幸的是只能捕獲當前月份之前的所有帖子。因此,我最終在當月(2015年4月)發佈了沒有顯示的帖子。在Wordpress循環中獲取當前月的帖子

我該如何獲得循環以包含當前的月份帖子?
我的代碼:

<?php function the_archive() { 
    global $wpdb; 
    $limit = 0; 
    $year_prev = null; 
    $months = $wpdb->get_results("SELECT DISTINCT MONTH(post_date) AS month , YEAR(post_date) AS year, COUNT(id) as post_count FROM $wpdb->posts WHERE post_status = 'publish' and post_date <= now() and post_type = 'post' GROUP BY month , year ORDER BY post_date DESC"); 

    foreach($months as $month) : 
     $year_current = $month->year; 

     if ($year_current != $year_prev) { 
      if ($year_prev != null) {} ?> 

      <li class="archive-year"> 
       <a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/"> 
        <?php echo $month->year; ?> 
       </a> 
      </li> 

     <?php } ?> 

     <li class="archive-month"> 
      <a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/<?php echo date("m", mktime(0, 0, 0, $month->month, 1, $month->year)) ?>/"> 
       <?php echo date_i18n("F", mktime(0, 0, 0, $month->month, 1, $month->year)) ?> 
      </a> 
     </li> 

     <?php $year_prev = $year_current; 
     if(++$limit >= 18) { break; } 

    endforeach; 
} 
add_shortcode('show_archive' , 'the_archive'); 
?> 

以上輸出菜單導航存檔帖子 - 見:http://imgur.com/C4WIiKR & http://codeandco.net/news/

所以我期待看到一個菜單項,4月,但我不知道。
任何想法?
(在此先感謝:-)

回答

0

所以我想通了。代碼實際上工作正常,但有一個小問題可能是由於時區(我猜)。

由於我在澳大利亞,美國(也許Wordpress的核心日期也許是從計算中)在時間上落後。所以我在2015年4月6日發佈了我的帖子,但沒有出現。

當我將帖子的發佈日期更改爲前一天(2015年4月5日)時,它按預期工作,沒有問題!

這歸結爲一個簡單的事實,即在Wordpress中:您不能發佈將來會發布日期的帖子。他們只能按計劃在未來的日期發佈。

相關問題