距上一次真正折腾WP已经相隔好几个月了,是由于期间各种原因叠加所致,无奈呀,杯具呀!
话说WP自带的就“较早文章”和“最近文章”两个内置函数,首页文章显示数又有限,如果要看很早以前的,那要翻得哟~所以我们希望有一排数字,可以让我们喜欢点哪一页就哪一页。目前可实现这个功能的插件太多太多,之前我使用的也曾推荐过的是:《WordPress 分页导航插件: Paginator》。
今天分享的是用纯代码来实现分页导航,先看效果图:

怎样?效果还过得去吧!有俺强力CSS代码技术做后盾,不怕做不出就怕想不出好样式~哇哈哈,臭屁臭屁了……
进入折腾步骤:
一、添加功能代码至 functions.php(的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) . "' 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</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 " class='current'";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 " class='current'";echo ">$i</a>";}}} else{for($i = 1; $i <= $max_page; $i++){echo "<a href='" . get_pagenum_link($i) ."'"; if($i==$paged)echo " class='current'";echo ">$i</a>";}} next_posts_link(' 下一页 '); if($paged != $max_page){echo "<a href='" . get_pagenum_link($max_page) . "' class='extend' title='跳转到最后一页'> 最后一页 </a>";}} }
二、添加美化代码至主题style.css
.page_navi{width:100%;height:36px;line-height:36px;text-align:center;overflow:hidden;padding-top:1em;} .page_navi a{padding:3px 8px;margin:2px;text-decoration:none;color:#888;border:1px solid #ccf;} .page_navi a:hover,.page_navi a.current{border:1px solid #356aa0;color:#356aa0;font-weight:bolder;}
三、添加调用代码至主题index.php、archive.php、category.php、search.php
<div class="page_navi"><?php par_pagenavi(9); ?></div>
OK,大功造成!又可以干掉一个已为数不多的插件咯!
注:文内核心代码来源于 http://www.ei2u.com/wordpress/work/273.html

哦耶,技术文来喽。我还是很懒的 使用那个插件。。没办法 升级 时总要改很多
用代码用代码,插件能抛弃一个是一个呀!
虽然看很多人说wordpress好,不过我感觉还是没有zblog用着顺手。
相对来说吧,喜欢折腾的人肯定喜欢WP,ZB没用过不好评论,呵呵
哈哈 来的太及时了 大沙发拿到
我这的沙发还是相对比较容易拿的~~
一直在用pagenavi……看来可以换下去了。谢谢木木
恩哈~~不用客气,随便拿随便拿~
功能集成在主题里其实也不过就是把插件里的代码移到 functions.php 里去,速度上没什么区别的。不过这东西挺有争议的,有的人喜欢把功能都集成在主题里,也有人喜欢做最纯粹的主题,让用户自己去选择装什么插件,各有所爱吧~我自己也在新主题里面集成了 AJAX 提交评论之类的功能,不过那是为了整体效果统一一点。而对于不制作主题的一般的用户来说,我还是觉得有插件用最好还是不要在主题里改代码,因为一旦换一个主题就前功尽弃了。
嗯,集成有集成的优势,对于我来说是把主题常用的功能都集成了,样式上也可以统一~~
果然很强大,和pagenai实现的功能差不多。。
可以说一样了!
貌似我用的主题本身就有这功能
额,强大哟,以后如果我发布主题的话就集合这个功能~~
又是一个技术活,支持你
代码也是Copy来的呢,就样式的代码精简了一下~
嗯嗯,不错,早该用免插件的方法了嘛
那是那是,只要是自己之前没想到折腾这东东哦~
这个很好,我一直就没用翻页插件用wp自带的,这个可以试试。
推荐!代码还算精简的了~
我copy走了
我把函数部分添加后,出现了错误,所有的代码都在后台头部显示了。。
添加功能代码至 functions.php(的php循环内),注意,要php循环内~~
我之前用过一个,不过在tag seach等地方是无效的,后又换回插件了……
也是集成在functions里的?在tag seach页面里添加导航调用代码应该就可以了~
的确不错,不出手几个月,一出手就来个厉害的。不过另一个方法可以把插件代码直接搬过来
实质上插件和集成function核心代码都一样的,只是形式上的区别吧~
问个技术问题,如果把加入到functions.php那段代码里面要怎么修改?修改了半天都没用,汗,求助下
这功能代码不需要修改了吧?插入保存后,就可以用调用代码了
因为的模板里面分页代码有个背景图片,在没有分页的时候这段代码也会显示出来,成了一个没有内容的背景。所以想插入到那段代码里面,没有分页的时候也不会显示出空背景,有分页的时候再显示出来。
背景图是CSS控制的,看看能否通过CSS搞定吧~应该我自己没试过所以也没现成的解决方法哦~
刚研究了下,已经把那段加入到functions.php里面了~~现在又可以干掉一个插件了
呵呵,GOOD!!很喜欢你这样风格来着呢!
原来用的pagenavi的php,不过显然木木这个要轻便多了。
我的functions.php已经好大好多了..
能少用一个插件就少用一个嘛~
高手!!!
Copy党而已……
被我拿到我新主题里了。。哈哈
非常支持,我以后发布主题的话肯定也是集成进去!
已经上主题了。。。有空去看看,帮忙抓抓虫。。。
恩,大气很多!!chrome下没发现什么错位~
暫時還用不上,因為我家佈景不用pagebar2不好看……(你這是什麼爛理由)
還有,這個可以讓我轉載給我家的看倌們一同學習嗎XDD?
當然會列明出處唷~
当然不建议,我发出来的技术文就是看到大家跟我一起折腾,俺就高兴~~
嗨,这拼音输入法啊……是“当然不介意”
果然是强大的CSS功底。不过我的主题好像不太合适。可以学习下CSS。
不会不合适下,调整下CSS就完全可以替代插件了~
那插件也的确是简单实用,俺们折腾控的人还是整代码爽!
其实pagenavi也就几十行代码,去掉后台部分,我直接把它复制到主题里面了
明白我也明白,两者核心代码肯定差不多的,可我不懂PHP呀,不然把实用的插件代码都提取出来~
不用插件貌似很好,呵呵。回头研究研究
恩,支持!!
越来越牛了
现在连Paginator都不用了,但效果依然强悍,
星期天有空的时候折腾折腾去
嘻嘻,完全抛弃鸟~~~
博主真行
恩哈,还行还行~~
我的也是免插件,不过你这个代码简洁多了。。收走
感谢
额,我是想到才搜索到,才整出来……
今天太晚了,改天干掉之。
恩,支持,干掉干掉!
这个很好的啊,我也考虑一下要不要回到主题中去。。
我觉得可以集成到主题内~~
如果集成到主题中发布出去,还要增加些翻译的字符串,有点懒的我
额,那也是,不过自己用最实在~
不错,呵呵,打算借用一下,干掉一个已有的插件……
终于折腾好了。。
好吧,我承认我不懂代码,就凭着大学那点六级水平糊蒙乱撞修改好的
咋地,反正我搞定了
我过了三级而已……
哈哈,不错的东东,收下了。
恩恩,好用咋就分享出来咯~
已经搞定鸟。
哟西!!!咋现在连网址都不留了呀?
呵呵!这个我一直在用!
之前我有想写这个分页代码的,现在你这有我就免了。
之前我是想找人写,现在也免咯,感谢网络~~
感谢网络!
你误解我的意思了,我是想说分享这个分页代码啊,我可没有这个本事能写这个代码!
不过我发现我用的那个代码和你的不一样,代码比你的还要少点,有时间我也分享一下。
额……那赶紧分享分享~~~
现已分享!
刚才倒腾了半天评论分页,才发现代码不能用,汗,最后跑到老万那找了一段代码~感觉好乱
评论分页就一句代码原生的呢~~ 传送门 http://immmmm.com/wordpress-native-comment-navigation.html
现在没什么心思去折腾了。工作太忙,已经好长时间没休息好了- -
身体是革命的本钱呀,先休息好了要紧!!
我本地试了下这个效果,发现:上一页、下一页、首页、最后页这些汉字的地方都是乱码。改成next之类的英文就ok。
不知道木木碰到过没
编码的问题,把文件另存为UTF-8保存就OK了!
习惯用插件了。装卸方便些。
嘻嘻,折腾折腾去吧~
请问想让它显示共多少页 ,需要添加什么代码呢?
俺也想干掉它,但调用代码该怎么插的?
不知道伱的主题是怎样的,我的是插在这几个文件index.php、archive.php、category.php、search.php的这里:
一般都在倒数几行了,望对你有帮助。
php endwhile 后面。
感谢博主~已经用上了~
终于搞定了,谢谢哈。。昨天晚上代码没放对位置,后台都进不去,FTP才解决的。今天调试正常了。
搞定就好~~~折腾快乐!
溜过去看看效果~嘻嘻
我也试了试 不错 哈哈
呵呵,支持折腾~~
既然来了,就留个脚印吧。
提交评论框也有头像叻~~~~~
遇到个小问题,也就在这里说下了:评论分页之后从最新评论那点过来的时候定位不到正确的某条评论…. 这个。。不知木木有什么解决办法?
我也束手无策啊……啊啊啊
嗯,又折騰好分頁的css了!
於是揮手向wp-pagenavi告別ノシ
小闇也真会折腾……鼓掌
木木過獎了=/////=
我只是用我那些菜鳥般的css修改而已……XDD
在上一次的佈景,我也有試著折騰這個不過失敗了。
是說今次很幸運能折騰到這個分頁樣式耶XDD
我家那個導航欄(不是移到右邊頂層麼?)是我昨晚夜深時一直在弄,幸好有同類型的網站的css給我參考啊~折騰好之後就蛋定了 超開心(整晚興奮中)←喂wwwwww
嘻嘻,有时看看CSS的手册会很有帮助的!
学习了,也使用了,结果成功了….
鼓掌~~支持折腾!
哦也,折腾无罪….
不错,用上了。并转载了。嘻嘻。不过好像分页要是太多的话就不太好了。不知道有什么办法改进一下
代码中的那个9是可以改的~~嘻嘻,可以看下文章下的链接。
嘻嘻。当时就知道了。能不能在数字后面显示个…的效果。怎么弄。就是 弄得更像平时用的那插件。呵
这个肯定得改PHP代码,不会……
改好了,谢谢博主!
不过category.php这个文件没找到呢。。。
没有就不用改咯~~
遇到这个问题了 解决了
恩,能帮到大家是我乐意看到的!
用上了
已经成功用了你这个,真是太棒啦
嗯,插件少用一个是一个!
看得头晕- -
使用之后的效果和上面配图是一样的吧?
嗯,CSS和图中效果对应的!~
感觉国外的主题用一些插件就会出问题,杯个了~~~
我也曾被国外主题折腾过,那代码看得晕啊!
我的评论留言 页面不知如何分呢~~
WP有原始函数支持~ http://immmmm.com/wordpress-native-comment-navigation.html
很精簡啊! 這篇錯過了, 要不然直接用這段我就不用再改了.
还是willin的mini呢~~~
加油~
我的主题里面就带这一个,不过比较郁闷的是,他每页显示十个文章,我想让他显示十五个,不知道该怎么搞啊?
每页显示数了后台不能设置吗?
我用$args = array(
‘posts_per_page’ => 2,
‘cat’ => 1,
‘paged’=>$paged
);
//query_posts($args);
$queryObject = new WP_Query($args);
这样的方式,分页怎么不显示啊!!求助
很简洁的代码,又能干掉一个插件了
呵呵,又能少用一个plugin
很好的东西哦 ,正在学习制作主题,收啦
不错,感谢分享哈
收藏,学习之。
顶下博主~我在自己主题可以用啦~
不错,用上了
恩哈~
不错,试用了一把
我问一下
可以这样放还是div外面
我是刚学者 请博主指教
不明白你的问题是什么,先搜索学习~
很有意思,效果不错,不过我有个问题,如何控制每页显示的数量
每页数量直接WP后台控制撒~
很不错。。。。我的已经按照你的方法做了。。。
很好,很给力
有一个问题,URL参数传递正确,但页面不变,点击下一页但还是显示原来的页面,求解!!
好东西,收藏了
NO 3Q~
改了之后,archives.php 模板弄的文章存档不调用文章了
不是吧,我照着你的方法搞了又搞,没反应诶。。。
但是还有一个问题!!
还需要把主题自带的分页导航给干掉!!!
继续琢磨吧!!
恭喜恭喜~找到自带的函数去掉就是了
来copy了
我用了404.php重定向去除固定链接中的index.php,在分页时就会出现问题,第一页链接没错,但是在page/2/页面,所有分页的链接地址
都出错。求解
一般linux直接后台固定链接设置就可以搞定吧?
加上代码后,给我报Undefined variable: max_page in F:APMServ5.2.6wwwhtdocswordpresswp-includesfunctions.php 这个错误,为什么呢
已经弄好了,谢谢!
这个代码只可以在index.php、archive.php、category.php、search.php这几个页面使用吗,自定义的模板咋就不能用呢
是在有文章列表调用循环里用的~