2016-07-02 40 views
1

我不熟悉WordPress的設計,這是說我知道一點PHP。我試着去編輯我的主題,使之停止形成頁分頁即停止頁成形 - > page2->第3頁帖子後有一定的數量已經添加到頁面WordPress的停止頁面Pagnitation

我的問題

抓住我的主題,我相信這是負責創建第二頁,第三頁等的代碼。

//---------------------- Pagination --------------- 

function kriesi_pagination($pages = '', $range = 4) 
{ 
    $showitems = ($range)+1; 

    global $paged; 
    if(empty($paged)) $paged = 1; 

    if($pages == '') 
    { 
     global $wp_query; 
     $pages = $wp_query->max_num_pages; 
     if(!$pages) 
     { 
      $pages = 1; 
     } 
    } 

    if(1 != $pages) 
    { 
     echo "<div class='pagination'>"; 
     //if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'> &laquo;</a>"; 
     if($paged > 1) echo "<a class='last' href='".get_pagenum_link($paged - 1)."'>PREVIOUS</a>"; 

     for ($i=1; $i <= $pages; $i++) 
     { 
      if (1 != $pages &&(!($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems)) 
      { 
       echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>"; 
      } 
     } 

     if ($paged < $pages) echo "<a class='last' href='".get_pagenum_link($paged + 1)."'>NEXT</a>"; 
     //if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'></a>"; 
     echo "</div>\n"; 
    } 
} 

我試圖做

相信$range變量包含創建第二頁,但是改變$range沒什麼價值發生前後的職位數...

註釋掉代碼 - 第1頁的所有帖子都會顯示,但之後的所有帖子都會消失...

此處有任何建議嗎?我是否在使用錯誤的代碼段?

+0

這看起來像你的主題功能:http://www.kriesi.at/archives/how-to-build-a-wordpress-post-pagination-without-plugin – Quack

+0

這就是它!謝謝我現在閱讀它,唯一的問題是我無法弄清楚如何更改設置帖子數的參數... – Marilee

+0

'$ wp_query-> max_num_pages' –

回答

1

Paged是在頁面呈現之前形成的,所以控制頁碼輸出的代碼爲時已晚。

你還沒有確定這是否是一個自定義查詢,cpt等,所以我假設它的標準帖子列表。所以如果不需要的話修改。這需要進入你的函數文件。

add_action('pre_get_posts', 'all_posts', 1); 

function all_posts($query){ 

    $query->set('posts_per_page', -1); // return all posts change this to the number you want 
    $query->set('nopaging', true);//stop add rows... 
    $query->set('no_found_rows', true); // dont count the rows to populate total posts count 

}