WordPress 2.3 版本开始 WordPress 内置了 Tag 支持,由于 WordPress 使用的 MySQL 数据库默认不支持中文分词,所以在中文情况下产生相关日志的最好方法就是通过 Tag,根据日志含有相同的 Tag 数越多,就认为日志相关性越强,所以我根据这一原理开发了 WordPress Related Posts 这个插件。
所以 WordPress Related Posts Plugin 最基本的功能就是根据日志的 tag 的相关性产生一个相关日志列表,并且可以把相关日志列表添加到 Feed 中。
安装和使用:
- 上传整个插件文件夹到 /wp-content/plugins/ 目录下或者在后台直接安装
- 在插件菜单下激活插件
- 在模板文件中适当的位置插入 <?php wp_related_posts(); ?> 模板函数或者在后台使用自动插入相关日志功能
- 在管理界面下,Manage > Setting > Related Posts 中配置插件的输出
详细配置
WordPress 相关日志插件有详细的配置选项,下面讲解下每个选项的含义。

WordPress Related Posts Plugin 后台选项
- 相关日志列表标题:给整个相关日志列表整个标题,可以是 Related Posts 或者相关日志都可以。
- 相关日志标题标签:这里可以有 h2, h3, h4, p, div 等五种选择,你根据自己的主题进行选择,如果相关日志的标题为 Related Posts,这里选择的标签为 h3,最后标题在 HTML 中的形式为
<h3>Related Posts</h3> - 最多显示:是设置相关日志最多显示几条。
- 不包括(分类 ID):如果你不在某些分类下的日志显示相关日志,那么就把这些分类的 ID 输入到这个框中,用英文的分号(,)分开
- 其他设置:
- 显示留言数:在相关日志中显示日志的有多少条留言了
- 显示日志发布日志:在相关日志中显示日志的发布日期
- 自动插入相关日志:如果你不想手工在 single.php 中插入 <?php wp_related_posts(); ?> 模板函数,可以通过该选项自动插入。
- 在 RSS 中添加相关日志:如果你想 Feed 中,日志的末尾显示相关日志,那么请勾上该选项。
- 摘要设置:如果你想在相关日志的显示日志的摘要,就可以通过这里实现,选择之后,会让你输入摘要最大的文本。
- 无相关日志时的设置:当谋篇日志某相关日志的时候,你想显示什么?该插件可以让你选择:
- 简单显示没有相关日志文本
- 随机日志
- 最多留言日志
- 最流行日志(如果安装了 Popularity Contest 插件)
并且选择无相关日志时候显示的日志类别之后,还可以设置他们的标题或者文本。
- 缩略图设置:如果你的博客通过自定义字段给每篇日志设置了缩略图,那么还可以通过缩略图形式显示相关日志,其中该功能还有两个设置:
- 是否还显示标题等文本。
- 选择哪个自定义字段是用于显示缩略图的。
缩略图功能是给高级用户或者有需求的用户使用的,一般是用不到的,所以不明白这个是什么意思,那就请不要选择。

貌似无法使用,有可能是你测试时使用的编码有问题.
我在一个DREAMHOST主机环境下,全部是utf8编码的全新安装没有任何插件的WP2.3 B3上测试,一旦激活这个插件,首页变成了空白,什么都没有了(还没有修改模板调用函数)
我在我的 BH 主机上测试了没有问题!
楼上没明白我的意思 我强调的是站点的编码和数据库的编码全部为utf8的情况下没有测试通过
这是一个插件? 可是WP 2.3 不是 9 月 24 日才出来吗?
回复功能测试下,我不知道啊
题外话,这篇日志的内容我没有具体学习和验证,但这篇日志的添加方式我比较喜欢,英中文对照,便于阅读和查看。不错!
WordPress 中文团队第二个作品,顶,哈哈
@ libo,我的 BH 空间也是全新安装的。另外这个插件和编码没有任何关系。
@ chengsun,这是在2.3 Beta 3测试的时候做的插件。
怎么能让rss输出时候让相关文章显示在more前面,正文中则显示在正文最后呢?
ps.“欢迎来自 http://www.bloglines.com 的朋友。本站关注 WordPress 及其相关技术,如果您是第一次来到这里,建议您订阅本博客”——偶已经是bloglines来的,干嘛还要订阅呀~~XD
终于找到了原因,你试一下,开启gzip后,页面就无法显示了,刚刚在全新的WP 2.3B3上测试完
谢谢,已经使用了
@ 沈蚊,我写的程序还不能辨别出 http://www.bloglines.com 是订阅器。因为太多订阅网站,不好写!
@ libo,和 gzip 没有关系,是我的插件 ?> 后多了几个空行,删除即可,或者使用我修改的版本!
我不知道有没有关系 我的意思只是在开启Gzip的情况下有异常
我手动修改了一下你的插件 不知道这样是否符合协议
1我把rated posts修改为了中文
2在FEED中显示的位置提前到紧挨文章,也就是把您位置参数中改成了9,否则位置会低于better_feed这个插件,不太符合阅读习惯
如果可以这样做的话请告知我 我自己已经用了
@ libo,插件里面写了 GPL 协议, GPL 协议是允许你修改再发布的,你可以看看 维基 上面对 GPL 的说明。GNU通用公共許可證
另外我这个插件也是源自 UTW 相关日志函数。
哦 我主要是修改了一些显示上的样式,增加了“暂时没有相关文章”等,已经发出来了 http://www.sediyer.cn
“可以功过参数 limit 来控制显示日志的数量”
错别字
@ paopao,这个都被你看出来,不过我是经常写错别字的。
@雪山飞猪 我可是看得很认真的噢 :lol
Great job. I’m sure this plugin will be well received.
When i call the function using
nothing happens it doesnt come up and it wipes the rest of my page out can you please help
Hi vash, I had a look you blog, your blog is powered by WordPress 2.2.2 and this plugin only works on WordPress 2.3 beta 1 or above!
i got this
Fatal error: Call to undefined function wp_get_post_tags() in /wp-content/plugins/wordpress-23-related-posts-plugin/wp23_related_posts.php on line 71
what’s means?
hi YouON, this plugin is only available for WordPress 2.3 beta1 or above
i got this
Fatal error: Call to undefined function wp_get_post_tags() in /wp-content/plugins/wordpress-23-related-posts-plugin/wp23_related_posts.php on line 71