分頁導航選單是一個網站必不可少的元素,今天就和大家分享一下倡萌使用了很久的 WordPress 程式碼實現分頁導航 的方法。
導航的效果如圖所示:

實現的方法很簡單,一起來折騰吧。
1. 將下面的程式碼放到 functions.php 最後一個 ?> 的前面
-
function par_pagenavi($range = 9){
-
global $paged, $wp_query;
-
if ( !$max_page ) {$max_page = $wp_query->max_num_pages;}
-
if($max_page > 1){if(!$paged){$paged = 1;}
-
if($paged != 1){echo "<a href='" . get_pagenum_link(1) . "' title='跳轉到首頁'> 返回首頁 </a>";}
-
previous_posts_link(' 上一頁 ');
-
if($max_page > $range){
-
if($paged < $range){for($i = 1; $i <= ($range + 1); $i++){echo "<a href='" . get_pagenum_link($i) ."'";
-
if($i==$paged)echo " ";echo ">$i</a>";}}
-
elseif($paged >= ($max_page - ceil(($range/2)))){
-
for($i = $max_page - $range; $i <= $max_page; $i++){echo "<a href='" . get_pagenum_link($i) ."'";
-
if($i==$paged)echo " ";echo ">$i</a>";}}
-
elseif($paged >= $range && $paged < ($max_page - ceil(($range/2)))){
-
for($i = ($paged - ceil($range/2)); $i <= ($paged + ceil(($range/2))); $i++){echo "<a href='" . get_pagenum_link($i) ."'";if($i==$paged) echo " ";echo ">$i</a>";}}}
-
else{for($i = 1; $i <= $max_page; $i++){echo "<a href='" . get_pagenum_link($i) ."'";
-
if($i==$paged)echo " ";echo ">$i</a>";}}
-
next_posts_link(' 下一頁 ');
-
if($paged != $max_page){echo "<a href='" . get_pagenum_link($max_page) . "' title='跳轉到最後一頁'> 最後一頁 </a>";}}
-
}
2. 新增下面的 css 樣式到你的 style.css 中
-
.page_navi{overflow:hidden;width:100%;text-align:center}
-
.page_navi a{height:36px;border:1px solid #DDD;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;color:#888;text-decoration:none;line-height:36px;margin:2px;padding:3px 8px}
-
.page_navi a:hover,.page_navi a.current{border:1px solid #FFBB76;color:#FF7200;font-weight:bolder}
3. 在需要顯示的地方 (比如主題的 index.php 、 archive.php 、 category.php 、 search.php) 中新增下面的呼叫程式碼即可
-
<div class="page_navi"><?php par_pagenavi(9); ?></div>
上面的數字表示最大顯示幾頁,你可以根據自己的需要修改。