2016-03-18 43 views
0

我在網上搜索了這個地方。我真的希望有一個很好的答案。Wordpress主題獲取當前頁面和頁數

問題

我想要的東西:
我就想辦法來獲得當前博客頁面索引並從腳型文件頁面最大數量。 (所以我可以用頁碼導航欄)

什麼應該工作:
根據wordpress,同時在循環中應該有$頁和$ NUMPAGES全局變量。

這不是:
這些均未loop.php,環single.php中或我其實是想(在我的博客主題,footer.php)訪問它在文件中爲我工作。測試我的has_posts while循環內外。

使用應答代碼

注意解決辦法:我找到了答案,我在做這個問題分享。我認爲可能有更好的答案或解釋爲什麼$ page和$ numpages不起作用,所以如果您知道請發佈您的答案!

如果你有興趣,我寫一些代碼來創建一個分頁導航欄
這就是我想要的電流/最大頁面。 這是運行版本

你很可能需要在樣式UL elemetns

<ul class="pagination"> 
    <?php 
     $DOTS = -1; 
     $CURRENT = -2; 
     $pages = $wp_query->max_num_pages; 
     $page = get_query_var('paged', 1); 
     if ($page === 0) 
      $page = 1; 

     $links = []; 

     if ($page !== 1) { 
      ?> 
      <li><?php previous_posts_link(__('&laquo;')); ?></li> 
      <?php 
     } 

     if ($page > 3) { 
      $links[] = 1; 

      if ($page > 4) 
       $links[] = $DOTS; 
     } 

     for ($i = $page-2; $i <= ($page + 2); $i++) { 

      if ($i <= 0) 
       continue; 
      else if ($i > $pages) 
       break; 
      else if ($page === $i) 
       $links[] = $CURRENT; 
      else 
       $links[] = $i; 

     } 

     if ($pages-2 > $page) { 
      if ($pages-3 > $page) 
       $links[] = $DOTS; 

      $links[] = $pages; 
     } 

     foreach($links as $link) { 

      if ($link === $DOTS) 
       echo '<li><a>...</a></li>'; 
      else if ($link === $CURRENT) 
       echo "<li><a class=\"currently-open highlight\">$page</a></li>"; 
      else 

      echo "<li><a href=\"/blog/page/$link\">$link</a><li>"; 
     } 

     if ($page != $pages) { 
      ?> 
       <li><?php next_posts_link(__('&raquo;')); ?></li> 
      <?php 
     } 
    ?> 
</ul> 

回答

0

我檢索通過以下功能這樣的信息:

$pages = $wp_query->max_num_pages; 
$page = get_query_var('paged', 1); 

if ($page === 0) 
    $page = 1; 

如果你頁面上一個分頁似乎返回0.

注:我認爲有可能是一個更好的答案或解釋爲什麼$ page和$ numpages不起作用,所以如果你知道請發佈你的答案!