如何在您的WordPress主题中集成一个分页功能
众所周知WordPress是没有自带分页这个功能的,当你换上一个非常心仪的主题之后,如果主题还是沿用WordPress默认的“前一页”(previous page)和“下一页”(next page)链接,这显然对读者的阅读来说是非常不方便的,如果读者想查看你较早的文章,那就不得不一页一页地翻下去!除非是你有意想让你的读者把你的博客翻个底朝天!
当然WP-PageNavi这个大名鼎鼎、众所周知的插件就可以为我们的博客添加一个很好的分页功能。那么是不是可以不安装插件而在主题中直接嵌入分页功能呢?在本教程,我将告诉你如何将WP-PageNavi插件直接整合到你的WordPress的主题中。
一、WP-PageNavi
WP-PageNavi是一个WordPress插件,它可以在你的主题中显示一个页面分页导航功能,以代替默认的“前一页”(previous page)和“下一页”(next page)链接。当然,第一件要做的事就是下载这个插件,下载插件到本机后,解压缩,然后复制并粘贴下列文件到您的主题目录:
- wp-pagenavi.php
- wp-pagenavi.css
二、编辑文件
打开你想让分页功能出现的文件(index.php, categories.php 或 search.php),找到以下代码:
<div class="navigation"> <div class="alignleft"><?php next_posts_link('Previous entries') ?></div> <div class="alignright"><?php previous_posts_link('Next entries') ?></div> </div>
替换这部分的代码如下:
1 2 3 4 | <?php include('wp-pagenavi.php'); if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?> |
如果此时你保存文件并重新刷新页面,很遗憾地告诉你什么也不会出现:-),这是因为Wp-PageNavi是一个WordPress插件,现在还没有被嵌入到你的主题文件中。(*^__^*) 嘻嘻……我们可以通过如下技巧来实现,只需打开wp-pagenavi.php文件并找到如下代码(第61行):
1 2 | function wp_pagenavi($before = '', $after = '') { global $wpdb, $wp_query; |
因为我们必须调用pagenavi_init()这个函数,因此按照如下方法改造:
1 2 3 | function wp_pagenavi($before = '', $after = '') { global $wpdb, $wp_query; pagenavi_init(); //Calling the pagenavi_init() function |
现在,刷新你的主题文件,分页功能已经显示在你要它出现的位置:-),但是它好像不怎么好看,哦!原来我们忘记了调用wp-pagenavi.css文件,OK!我们现在来调用CSS文件:
打开header.php文件找到下面这一行:
1 2 | <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" /> |
只需要在其后加入以下代码:
1 2 | <link rel="stylesheet" href="<?php echo TEMPLATEPATH.'/pagenavi.css';?>" type="text/css" media="screen" /> |
OK!我们的分页功能已经完成!刷新一下页面,看看是不是和使用插件效果一样呢?:-)
三、究竟是在主题中集成分页功能呢,还是使用插件?
我很肯定你想知道为什么我使用这个技巧而不是选择直接使用插件,这主要是基于以下两点想法:
1、对于很熟悉WordPress和PHP代码的人来说也许使用插件只是含简单的事情,但是并不是所有使用WordPress的人都是对代码很熟悉的,也许他仅仅只会使用WordPress而已,那么对于他们来说使用插件和修改代码也许并不是太容易的事情。但是分页功能却又是每个博客不可缺少的功能!
2、对于一个主题设计者来说,只有让使用者做最少的事情就可以完美的享受主题的各项功能,我想这是一个好主题的标准之一!
英文链接请查看这里,如果你还有什么更好的集成方法,欢迎交流!
声明:城市@后版权所有,未经授权请勿转载本博客日志到任何博客或论坛!
如果你喜欢我的文章,欢迎订阅。Google Reader | 鲜果 | 抓虾 | 九点 | QQ邮箱 | 有道 | 更多

这个功能,我下的那模板自带的。
不过,先收藏了。以后应该用得着。
另外,我的那模板,tag点进去后,就没翻页的标识,就一页的5篇文章,那里面也可以和首页、分类页一样,出现 翻页的功能不?
@骑驴哼哼:
我觉得主题就要直接整合这个功能,分页功能是必须得嘛
当然可以啦,只要你把主题里所有“前一页”和“下一页”这种模式都替换成分页形式就OK啦!
怎么没看到原文链接的呢?
@冰古: 罪过,罪过!
边看电影编写,忘了最后添加英文原文链接。现在已经补上,有兴趣的朋友可以直接去查看原文 
谢谢冰古的提醒
我没有找到如下代码:
所以我这一段代码我没有替换!
后面的我都替换了! 请帮助我一下 谢谢
第一部分代码
@winbye: 一般应该是有的啊
你的index.php或是page.php都没有这个啊?如果没有你可以在
< ?php get_footer(); ?>之前适当位置直接加入需要的代码即可我去加了 我的首页就一片文章所以还看不出行不行,不急慢慢解决吧
我的网站上,tags的链接,就没翻页功能,首页和分类都有的。 没搞明白什么原因,你可以帮我分析下吗?
@骑驴哼哼:
一般来说,需要分页的模板文件有index.php、search.php、page.php、archive.php,另外看看你是否还有自建模板文件,你看看你的这些文件是否加上了分页代码
呵呵 看懂了 就是不会改
不是十分明白
自建的主题貌似加上了不起作用呢?不能跳转?
- -,。我添加没有效果。怎么回事