2011-09-21 72 views
1

所以我有一個自定義模板,顯示來自特定類別的帖子(取決於get_post_meta('Category'))。wordpress query_posts問題

該頁面完美地顯示來自「新聞」類別的帖子。但是,使用完全相同的代碼(減去它的顯示方式),它對日曆類別中的帖子分頁有問題。基本上,日曆帖子的第一頁顯示正確,然後當您點擊「下一頁」時,網址更新爲第二頁,但是相同的帖子在頁面上。

下面的代碼:

<?php $category = get_post_meta($post->ID, 'Category', true); ?> 
<?php $cat = get_cat_ID($category); ?> 

<?php $paged = (get_query_var('page')) ? get_query_var('page') : 1; ?> 

<?php $args = array(
     'cat' => $cat, 
     'paged' => $paged 
    ); 
?> 

<?php query_posts($args); ?> 

<?php if (have_posts()) : ?> 

    <?php while (have_posts()) : the_post(); ?> 

     <!-- If its a Calendar page --> 
     <?php if ($cat == 1): ?> 
      <div class='entry'> 
       <!-- List all Calendar info and Custom Fields --> 
       <ul> 
        <li><h3><?php the_title(); ?></h3></li> 
        <li><?php the_content(); ?></li> 

      <!-- ...And displays other data, etc..... --> 
       </ul> 
      </div> 

     <?php else: ?> 

      <div class='entry'> 
       <ul> 
        <li><?php the_title(); ?></a></h3></li> 
        <li><?php the_time('F jS, Y'); ?></li> 
        <li><?php the_content(); ?></li> 

      <!-- And display other data, etc .... --> 
       </ul> 
      </div> 
     <?php endif; ?> 

    <?php endwhile; ?> 

    <!-- Posts Nav Links --> 
    <?php posts_nav_link(' | ', '&laquo; Newer Entries', 'Older Entries &raquo;'); ?> 

<?php endif; ?> 

回答

0

更可能這與您如何在自定義模板設置paged參數query_posts()做。

瞭解更多關於此這裏:http://scribu.net/wordpress/wp-pagenavi/right-way-to-use-query_posts.html

在您可能需要使用get_query_var('paged')一言以蔽之。

+0

這真的很有趣。現在,即時通訊使用get_query_var('page'),它適用於新聞,但不適用於日曆。如果我切換到get_query_var('paged'),那麼情況正好相反!任何想法爲什麼? – djt

+0

其實只是讀。由於新聞設置爲主頁,因此它使用「頁面」。那是如何工作的(出於某種原因)。其他一切都使用「分頁」。謝謝你的幫助! – djt

+0

沒問題。感謝您跟進爲什麼您遇到「新聞」問題。這可能有助於未來的人。 –