首页 归档 标签 关于

免插件实现日志分页导航


633 3 167.5k

昨天开始,就一直在折腾博客,蛋疼的又换了个主题,这次是比较经典的 inove。为什么又要换主题?Forece这家伙的主题和我的撞墙了,没办法,他是大哥,所以只能我换。(其实早就想换了,这下有个借口比较好,把责任推卸掉。) 闲话不说了,进入主题。用 wordpress 的人都应该知道 WP-Pagenavi 这个插件,他的效果是可以实现分页导航,插件一安装,效果就能够出现了。用久了 wordpress ,大家就会开始追求速度了,减少一切不必要的插件,但是减来减去发现没几个是没用的。 大家用了如下方法,可以把 WP-Pagenavi 这个插件丢掉了。 首先在你当前主题的 functions.php 中任意地方,加入如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//分页导航
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) . "' class='extend' 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 " class='current'";echo ">$i";}}
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 " class='current'";echo ">$i";}}
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 " class='current'";echo ">$i";}}}
else{for($i = 1; $i < = $max_page; $i++){echo "<a href='" . get_pagenum_link($i) ."'";
if($i==$paged)echo " class='current'";echo ">$i";}}
next_posts_link(' 下一页 ');
if($paged != $max_page){echo "<a href='" . get_pagenum_link($max_page) . "' class='extend' title='跳转到最后一页'> 最后一页 </a>";}}
}

然后在你需要使用分页导航的地方(一般是index.php、category.php、archive.php、search.php)加入如下代码:<?php par_pagenavi(9) ?> 最后在加上漂亮的CSS,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* page_navi start*/
#pagenavi {
border-top:1px solid #CCC;
width:100%;
height:36px;
line-height:36px;
text-align:center;
overflow:hidden;
padding-top:1em;
}
#pagenavi a{
padding:3px 8px;
margin:2px;
text-decoration:none;
border: 1px solid #BFBFBF;
}
#pagenavi a:hover, #pagenavi a.current{
background: #F7F7F7;
border: 1px solid #356aa0;
color:#356aa0;
font-weight:bolder;
}
/* page_navi end*/

好了,改完收工。 这方法具体来至哪里我也不记得了,在五木那里也发现了这个,大家可以去围观,不过没什么区别,嘿嘿。