上一篇文章介紹了使用 WP-PageNavi 插件實現分頁導航的效果,但是有些童鞋可能不喜歡裝插件,那麼小編就來教大家如何使用代碼實現分頁導航效果。首先打開當前使用的主題的 functions.php 文件並加入以下代碼:
//分頁函數
function wp_pagenavi($range = 5){
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++){
if($i==$paged) echo "<a >$i</a>";
else echo "<a href='" . get_pagenum_link($i) ."'>$i</a>";
}
}
elseif($paged >= ($max_page - ceil(($range/2)))){
for($i = $max_page - $range; $i <= $max_page; $i++){
if($i==$paged) echo "<a >$i</a>";
else echo "<a href='" . get_pagenum_link($i) ."'>$i</a>";
}
}
elseif($paged >= $range && $paged < ($max_page - ceil(($range/2)))){
for($i = ($paged - ceil($range/2)); $i <= ($paged + ceil(($range/2))); $i++){
if($i==$paged) echo "<a >$i</a>";
else echo "<a href='" . get_pagenum_link($i) ."'>$i</a>";
}
}
}
else{
for($i = 1; $i <= $max_page; $i++){
if($i==$paged) echo "<a >$i</a>";
else echo "<a href='" . get_pagenum_link($i) ."'>$i</a>";
}
}
next_posts_link(' › ');
if($paged != $max_page){
echo "<a href='" . get_pagenum_link($max_page) . "' title='跳轉到最後一頁'> » </a>";
}
}
}
然後找到需要分頁的頁面模板文件,將
next_posts_link previous_posts_link
兩個參數成
<?php wp_pagenavi(); ?>
然後刷新下,是不是實現了分頁呢?另外在這裏強調下,很多童鞋説 「插件會拖慢網站速度,最好都用代碼實現,這樣網站速度就快了!」 這個説法是錯誤的,因為使用代碼和插件都是一樣的性質,只不過形式變了一下而已,做好的辦法就是能不要的功能就別去折騰,實在不行也不要到處去搜代碼,然後直接複製粘貼完事。要考慮代碼的執行效率,這樣才能有效的保證網站的運行加載速度。