2013-07-11 61 views
1

首先,我已經遍及Google,StackExchange和Codex,但仍然無法解決我的問題。它可能很簡單;我不確定。我有以下函數列出自定義帖子。該頁面有多個查詢,但只有一個(這一個)使用分頁。它在首頁 - 設置爲靜態。我不能得到以前的帖子鏈接顯示

下面是函數:

function wight_listings() 
{ 
    global $wp_query; 
    global $page; 

    $backup = $wp_query; 
    $wp_query = NULL; 
    $cur_page = $page; //get_query_var('page') ? get_query_var('page') : 1; 

    $args = array(
      'post_type' => array('wight_listing'), 
      'posts_per_page' => 7, 
      'paged'=>$cur_page 
     ); 
    $wp_query = new WP_Query($args); 
    ?> 
    <?php if ($wp_query->have_posts()) : ?> 
    <?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?> 
     . 
     . 
     . 
    <?php endwhile; ?> 
     <div id="nav-posts" style="margin-top: .5em;"> 
      <div style="float:left;"><?php previous_posts_link('Previous Listings &laquo;'); ?></div> 
      <div style="float:right;"><?php next_posts_link('&raquo; Next Listings'); ?></div> 
      <div class="clear"></div> 
     </div> 
<?php else: ?> 
    <p>Oh no! There's nothing to show. :(</p> 
<?php endif; ?> 
<?php 
    $wp_query = NULL; 
    $wp_query = $backup; 
} 

「下一步列表」鏈接顯示了只連接到第2頁無論是什麼網頁上我和「上一個第」鏈接從未露面。

我在做什麼錯?

WP:3.5.2

+0

你錯過了你的開啓和關閉的PHP標記,或者它是複製/粘貼問題? – Bun

+0

感謝您的回覆。究竟在哪裏?我把這個功能縮短了,因爲它很長。 – Joe

+0

'<?php $ wp_query = NULL; $ wp_query = $ backup;''在您提供的代碼中永遠不會關閉。但是如果你沒有提供完整的代碼,這可能是正確的。 – Bun

回答

1

我找到了解決方案。我查看了/wp-includes/link-template.php並找到了對我的mysery負責的兩個函數。我將它們複製到我的主題並修改了一下,一切都非常有效。

function wight_get_previous_posts_page_link($cur_page) 
{ 
    if ($cur_page > 1) 
    { 
     $nextpage = intval($cur_page) - 1; 
     if ($nextpage < 1) 
      $nextpage = 1; 
     return '<a href="' . get_pagenum_link($nextpage) . '">&laquo; Previous Listings</a>'; 
    } 
} 

function wight_get_next_posts_page_link($cur_page, $max_page) 
{ 
    $paged = $cur_page; 

    if (!$paged) 
     $paged = 1; 
    $nextpage = intval($paged) + 1; 

    if ($max_page >= $nextpage) 
     return '<a href="' . get_pagenum_link($nextpage) . '">Next Listings &raquo;</a>'; 

} 

使用那些來代替previous_posts_link和next_posts_link。

<?php echo wight_get_previous_posts_page_link($cur_page); ?> 
<?php echo wight_get_next_posts_page_link($cur_page, $query->max_num_pages); ?> 
+0

做好了回來發佈你的答案和解釋。記住你應該接受你自己的答案,以表明它已經被解決了 - 接下來是如何接受和回答。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work歡迎來到SO :) – McNab

+0

哦,很酷。謝謝!我接受了。 – Joe

相關問題