08年4月更新:看到很多朋友通过google或者其他搜索引擎找到这篇文章,本文是07年8月写的,wp-forum的作者已经很久不更新此插件了,而且插件本身存在漏洞。现在本博客使用simple:press forum插件来整合博客论坛,详情请看 WP论坛整合插件SPF的安装、配置和特性简介 ,当然本文中有关定制化模板(第9,第10)的讨论还是有效的
前一阵子,我在
“博客、论坛之大同世界”和
“人气博客还能干点啥”两篇文章中都有讲到博客挂载论坛的想法。为什么要挂载论坛?什么样的博客适合挂载论坛?其实还是为了更有利于交流,就我自己来说有这么几个想法:

- 来访者可能引发出的一系列和主题不太相关的问答,只能发在留言处或者原主题后面。比如我的一篇有关制作WordPress留言版的文章,后面就跟了很多题外话。
- 对博客在某方面专长的认可,访客可能有些相关领域的问题要交流,博客的个体特征是不允许访客开新帖的,一律也只能牛头不对马嘴的挂在留言处。
- 访客间的相互交流。有些问题不用博主来回答,开个主题,圈子里的朋友就能回答。新帖也好,回帖也好,原来都唯主题马首是瞻而淹没了。现在评论抢不到沙发没关系,论坛开新帖就是了。
- 博客的评论系统很宽松(不用注册就留言),但就因为宽松就有了限制,比如不支持富文本特性。问题的交流,一张图片一个列表有时更能说明问题。论坛呢?回帖有限制(要注册),但支持富文本特性,论坛的回帖有BBCode可以使用。留言权限的宽松性(博客)和留言内容的丰富性(论坛)是一对平衡。
不过似乎并不是所有博客都适合挂载论坛的,一般非主题式的,个人生活类,杂文类的博客因为没有需要长期(long term)集中的话题来讨论,就没有必要开版了。我在外面晃了一圈,开论坛的博客目前来说,都是IT类某个领域的专题博客为多,而且含技术支持的特征。朋友圈子里看了看,像Fisio的firefox专题,小众软件的软件专题,Nicky的ubuntu专题,水煮鱼的WordPress模板主题,原本在分类里的,都可以衍生出一个论坛来进行问答讨论。
博客整合论坛有很多方法,水煮鱼的转帖译文(原译文链接已失效)里有详细指导,但是经过我一一试用,不是前台整合不方便,就是后台整合有问题,或者像Vanilla这样的论坛(煎蛋有详细中文指导),虽然人人说优秀,但是由于和国内论坛使用习惯不符,都不是很满意 。最后发现,fahlstad出品的wp-forum无论前后台和wordpress整合都很不错,不太熟悉fahlstad团队的同学,不知道有没有听闻过他们出的一套f模板(fGreen, fOrange, fBlue等等)。
wp-forum的使用很简单,下面我大概讲一下:
- 下载插件zip包后,解压到wp-content/plugins目录.
- 后台激活插件.
- 创建一个页面(page), 名字处填写“论坛”, page slug处填写“forums”
- 在页面的内容处选择html编辑方式,填写
<!--WPFORUM-->

- 然后在后台manage->wp-forum添加子版分组和子版.(注意:必须关掉admin drop menu插件,否则manager->wp-forum下面看不出option的分类)

- 在后台manage->wp-forum->Option里设定论坛page title为“forums”,必须和page slug名字一样.

- 这里有个问题要注意的是,用permlink的同学,page会以形如/forum的形式出现,但是原插件的两个文件(wp-forum.php和forum-functins.php)里一律是以/?page_id=xxx&forumaction=的形式出现的,所以全部需要用文本编辑器替换为/forums?forumaction,这里给出我已经改好的两个文件的压缩包,如果不用permlink的同学,可以尝试下是否能正常工作(点击link出现空白页),否则把/?page_id=xxx&forumaction=改成/index.php?page_id=xxx&forumaction=
- 模板整合的问题:wp-forum自带了4个不同色系的漂亮模板,可以和不同的wordpress搭配,如果不满意的话,可以自行找到wp-forum模板目录里(plugins/wp-forums/skins/xxx(wp-forum模板名)/)下找style.css修改,并替换images目录下的图片
- 去掉wordpress边栏(sidebar)的问题:要去掉边栏(sidebar),可以自定义一个page模板,我在文章制作WordPress留言版里面有讲到怎么自定义模板,这里再简单说一下。copy wordpress模板目录里的page.php命名为forums.php, 在forums.php头部加上一句<?php /* emplate Name: Forums */>,然后把<?php comments_template(); ?> 和 <?php get_sidebar(); ?>删除

在上述第三步的创建页面的时候,page template选择“forums”就选用了刚才新建的这个不带边栏(sidebar)和评论栏(comments)的模板。
- 最后要讲一下论坛全宽的问题:因为即使如上面去掉了边栏(sidebar),但由于css中的限定,论坛还是被限制在div content这个区域(也就是主题栏),因此在刚才的那个forums.php中把<div id=”content”>改成<div id=”forums”>,

并在style sheet中新增一个class名为forums,然后做相应调整。

好了,基本上就这么完成了。论坛用户要发言需要注册,因为是和wordpress整合的,所以也就是注册成为了wordpress用户。所以要注意,wordpress用户注册缺省角色(role)最好是设定成“订阅者”(subscriber),其他有关论坛的使用就自己慢慢摸索吧。
最后贴一下我论坛的地址 http://www.sbtalk.com.cn/forums 或者点击页首的“论坛”页面标签
ps:此贴除了可以在底下留言外,还可以去相应的论坛版本讨论
—阅读本主题的博客原贴
最新评论