基于WP-Forum插件,构建与WordPress整合的论坛

Wordpress, 软硬天师   评论

08年4月更新:看到很多朋友通过google或者其他搜索引擎找到这篇文章,本文是07年8月写的,wp-forum的作者已经很久不更新此插件了,而且插件本身存在漏洞。现在本博客使用simple:press forum插件来整合博客论坛,详情请看 WP论坛整合插件SPF的安装、配置和特性简介 ,当然本文中有关定制化模板(第9,第10)的讨论还是有效的


前一阵子,我在“博客、论坛之大同世界”“人气博客还能干点啥”两篇文章中都有讲到博客挂载论坛的想法。为什么要挂载论坛?什么样的博客适合挂载论坛?其实还是为了更有利于交流,就我自己来说有这么几个想法:

wordpress_forum00.png

  • 来访者可能引发出的一系列和主题不太相关的问答,只能发在留言处或者原主题后面。比如我的一篇有关制作WordPress留言版的文章,后面就跟了很多题外话。
  • 对博客在某方面专长的认可,访客可能有些相关领域的问题要交流,博客的个体特征是允许访客开新帖的,一律也只能牛头不对马嘴的挂在留言处。
  • 访客间的相互交流。有些问题不用博主来回答,开个主题,圈子里的朋友就能回答。新帖也好,回帖也好,原来都唯主题马首是瞻而淹没了。现在评论抢不到沙发没关系,论坛开新帖就是了。
  • 博客的评论系统很宽松(不用注册就留言),但就因为宽松就有了限制,比如不支持富文本特性。问题的交流,一张图片一个列表有时更能说明问题。论坛呢?回帖有限制(要注册),但支持富文本特性,论坛的回帖有BBCode可以使用。留言权限的宽松性(博客)和留言内容的丰富性(论坛)是一对平衡。

不过似乎并不是所有博客都适合挂载论坛的,一般非主题式的,个人生活类,杂文类的博客因为没有需要长期(long term)集中的话题来讨论,就没有必要开版了。我在外面晃了一圈,开论坛的博客目前来说,都是IT类某个领域的专题博客为多,而且含技术支持的特征。朋友圈子里看了看,像Fisio的firefox专题,小众软件的软件专题,Nicky的ubuntu专题,水煮鱼的WordPress模板主题,原本在分类里的,都可以衍生出一个论坛来进行问答讨论。

博客整合论坛有很多方法,水煮鱼的转帖译文(原译文链接已失效)里有详细指导,但是经过我一一试用,不是前台整合不方便,就是后台整合有问题,或者像Vanilla这样的论坛(煎蛋有详细中文指导),虽然人人说优秀,但是由于和国内论坛使用习惯不符,都不是很满意 。最后发现,fahlstad出品的wp-forum无论前后台和wordpress整合都很不错,不太熟悉fahlstad团队的同学,不知道有没有听闻过他们出的一套f模板(fGreen, fOrange, fBlue等等)

wp-forum的使用很简单,下面我大概讲一下:

  1. 下载插件zip包后,解压到wp-content/plugins目录.
  2. 后台激活插件.
  3. 创建一个页面(page), 名字处填写“论坛”, page slug处填写“forums”
  4. 在页面的内容处选择html编辑方式,填写 <!--WPFORUM-->
    wpforum03.png
  5. 然后在后台manage->wp-forum添加子版分组和子版.(注意:必须关掉admin drop menu插件,否则manager->wp-forum下面看不出option的分类)
    wpforum02.png
  6. 在后台manage->wp-forum->Option里设定论坛page title为“forums”,必须和page slug名字一样.
    wpforum01.png
  7. 这里有个问题要注意的是,用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=
  8. 模板整合的问题:wp-forum自带了4个不同色系的漂亮模板,可以和不同的wordpress搭配,如果不满意的话,可以自行找到wp-forum模板目录里(plugins/wp-forums/skins/xxx(wp-forum模板名)/)下找style.css修改,并替换images目录下的图片
  9. 去掉wordpress边栏(sidebar)的问题:要去掉边栏(sidebar),可以自定义一个page模板,我在文章制作WordPress留言版里面有讲到怎么自定义模板,这里再简单说一下。copy wordpress模板目录里的page.php命名为forums.php, 在forums.php头部加上一句<?php /* emplate Name: Forums */>,然后把<?php comments_template(); ?> 和 <?php get_sidebar(); ?>删除
    wpforum04.png
    在上述第三步的创建页面的时候,page template选择“forums”就选用了刚才新建的这个不带边栏(sidebar)和评论栏(comments)的模板。
  10. 最后要讲一下论坛全宽的问题:因为即使如上面去掉了边栏(sidebar),但由于css中的限定,论坛还是被限制在div content这个区域(也就是主题栏),因此在刚才的那个forums.php中把<div id=”content”>改成<div id=”forums”>,
    wpforum05.png
    并在style sheet中新增一个class名为forums,然后做相应调整。
    wpforum06.png

好了,基本上就这么完成了。论坛用户要发言需要注册,因为是和wordpress整合的,所以也就是注册成为了wordpress用户。所以要注意,wordpress用户注册缺省角色(role)最好是设定成“订阅者”(subscriber),其他有关论坛的使用就自己慢慢摸索吧。

最后贴一下我论坛的地址 http://www.sbtalk.com.cn/forums 或者点击页首的“论坛”页面标签

ps:此贴除了可以在底下留言外,还可以去相应的论坛版本讨论 :lol:

---到论坛来参加本主题的火热讨论吧 ^_^ - (1) 帖子

相关日志

42条评论 to “基于WP-Forum插件,构建与WordPress整合的论坛”

  1. Gravatar Denis

    好像你的博客注册收不到邮件,本来想去你的论坛灌灌水!

  2. Gravatar scavin

    最好能有 OpenID 支持

  3. Gravatar fisio

    wp还有这功能!不过个人论坛没什么发展前途哎,严打中

  4. Gravatar Vern

    同上
    注册问题比较麻烦

  5. Gravatar 央街浪子

    @denis:正式publish之前,我自己试过,gmail能收到注册邮件的啊,不知道为什么了。

    @scavin:wordpress登录支持openID吗?怎么弄的?这个论坛插件是和wordpress用户整合的,也就是和wordpress注册、登录是同一个地方,不像评论下方的那种

    @fisio:可能过一阵就没事了吧,现在还没收到通知。所谓那个通知和已经被HX的,我觉得还是他本身言论有些冒进的(像superZou同学),有这份通知在,“打”属于有法可依,不打也是他的自由,就看你碰没碰他们认为的那根底线。你我都是搞技术类的,还没敏感到有人来关注的地步吧,否则我要不胜荣幸了。

    另外,这个个人论坛我觉得不要太寄予期望,基本上是冷清的。因为个人引发的话题,和正儿八经做论坛是不一样的。我看外面用的,主要都是用于技术类博客文章的技术支持为主,比如那些做插件的博客,给用户提问题,问答问题用,不然全部挂在评论里,一个不好找不好分类,另一个估计评论要爆掉。

  6. Gravatar 央街浪子

    @vern:不知道wordpress注册有没有简单的注册方法,因为是整合的,所以他要发mail我也没办法。其实有需求才会注册吧,否则在文章下方评论区灌水就够了。 :lol:

  7. Gravatar 央街浪子

    额。。。现在不需要注册就可以发言的,但是因为没有ID标识,所以一律以guest方式显示。有兴趣的同学可以帮忙测试一下,更加有兴趣的同学可以注册(等同于注册了这个博客wordpress的用户)一下再灌水。 :razz: :razz:

  8. Gravatar 偶爱偶家

    不错, 不错, 应该是可以用openid的吧? wordpress有插件可以整合, 论坛应该也是可以的

  9. Gravatar scavin

    @央街浪子 有插件支持 wp 用 Openid 登录,不过我一直没有搞定。草莓就用 Openid 登录,我那里只可以用 openid 留言

  10. Gravatar 似水年华

    很详细啊,可以一试

  11. Gravatar 帕兰卓一得

    挺强的。什么时候对论坛感兴趣了,也去按照这个方法弄一个。

  12. Gravatar roader

    嘎嘎,不错,不过对于我来说没什么用,只能浪费资源~ :mrgreen:

  13. Gravatar lxltop

    我只觉得有了论坛会有XX关注的,不是说论坛要24小时监管吗,我们同学内部想搞一个都没弄。

  14. Gravatar 摩摩诘

    太专业了…云里雾里在做回复… :shock:

  15. Gravatar 偶爱偶家

    我的内部坛子给彻底关闭了, 5G的数据还在电脑上

  16. Gravatar 央街浪子

    什么内部坛子,公司的?5G数据都在空间商那里?昏倒了要

  17. Gravatar 偶爱偶家

    公司内部, 没在公司注册登记, 被关闭了。 数据在我的电脑上。 就当收集资料了。 很不错的。 呵呵

  18. Gravatar steven

    坛主,我按照你的方法做,到Structure那步就卡住了,我的Structure目录下 只有 add group 没有 add forum 这个选项, 我用WP2.3的中,英文版都试过了,都是没有add forum 这个选项,我的wp-forum用的是1.7.4 ,插件除了wp-forum我全都清除了,请问是怎么回事?

  19. Gravatar 央街浪子

    在2.3上没有试过,我的博客程序自2.2不再更新了

  20. Gravatar weeper

    浪子兄您好,我按照您的说明装上了这个论坛插件,安装的是Yueke汉化的1.7.4。
    但是装完之后在后台添加分类与子版块的时候,所输入的中文全都是??。请问这是为什么?
    此外在页首会显示这么一行提示
    “Warning: date() expects parameter 2 to be long, string given in /usr/local/apache2/htdocs/wordpress/wp-content/plugins/wp-forum/forum-functions.php on line 668”
    这又如何解决呢?

    谢谢

  21. Gravatar 央街浪子

    php什么版本?似乎是不同的php版本中函数要求的参数不一致。
    很久不玩了,很多地方不清楚了,要去插件原作者处查看。

  22. Gravatar weeper

    感谢您的回复。
    出现这两个错误的主机是我本地测试的一台Linux机器,php5.2.5。
    后来我将这个论坛放到租用的空间上就没问题了。
    中文正常,也没有头部的那个668错误了。
    不知道是不是我的php编译的时候什么参数没加上?但是WordPress一切正常。

    不过现在又有了新问题,我想请教一下在何处修改头部链接,比如您的论坛头部“随便说说SBTalk » forums”当把鼠标移到forums时显示的就是http://www.sbtalk.com.cn/?page_id=584,但我的却还是http://www.aaa.com.cn/forums。结果一点击就出现404页面。

    盼指教,谢谢您!

  23. Gravatar weeper

    不好意思,解决掉了。
    其实浪子兄您已经在第7点里面说的很清楚了。
    通过和英文原版相比较,我才发现Yueke汉化的版本和英文版一个很显著的区别就是所有的
    ?page_id=$forum_page_id$amp;
    都被换成了了
    forums?

    正是由于这个原因,所以我一点击就出现空白页。
    后来我又将您提供的修改文件和原版相比较,发现您修改的也正是此处。

    后来再去百度一下,才发现就原来就是固定链接的问题。
    原谅我英文很烂,才出现的这个错误,呵呵,谢谢您

  24. Gravatar weeper

    又有问题前来请教您了。
    请问浪子兄您是如何解决掉上次登录时间的bug的?
    麻烦您教教我。

  25. Gravatar 央街浪子

    上次登录时间?什么bug?

  26. Gravatar weeper

    麻烦您移步到我帮朋友建的网站去看看。
    论坛注册之后显示为“您上次登录时间: 1970-01-01 08:00:00”
    此外,我添加了论坛分类之后,就显得很拥挤,把“主题数”和“文章数”都挤成瘦子了。
    麻烦您指教。
    谢谢。
    :mrgreen:

  27. Gravatar 央街浪子

    去看了下,时间函数date()似乎并没有被正确调用。
    第二个问题主题数,文章数变成纵列是因为中文的问题,这个是插件是英文的,表头断字不识别中文,需要定制宽度,建议修改源文件,把:
    <td class=’table_header’> 主题数 </td>
    <td class=’table_header’> 文章数 </td>
    改成
    <td class=’table_header’ width=15%> 主题数 </td>
    <td class=’table_header’ width=15%> 文章数 </td>

  28. Gravatar weeper

    感谢您抽空去我那边。
    宽度按照您说的方法还是不能解决,后来我对比从台湾网站上找到的一个版本以及yueke的简体中文版本,发现他们在这个问题上使用的都是这个方法:
     主题数 
    因此,瘦字问题已经解决,但时间函数我仍然没弄好。
    我对照了英文原版,正体/简体中文汉化版,在时间函数上的语句都是一模一样的。yueke在说明中也说了时间问题他也没有解决掉。

    我猜想您的时间函数语句也应该和我们是一样的。那么除非这句话是要调用别的文件中的函数,而我刚好把原来的语句弄丢了才会这样吧?

    等我明天在本地装上英文版的试试看。看原版会不会有这个问题。如果还是不能解决的话,只有求助于您了。到时我想将我目前用的版本发给您,请您帮我看看。

    多谢!

  29. Gravatar 央街浪子

    你可以对比下中英文cookie.php里面的时间设置函数。上次登录时间就是靠这个来设置的。

  30. Gravatar weeper

    :sad:
    呵呵,没辙了
    我对比了两个cookie.php,完全一样。编码也是完全一样的。
    不知道问题在哪里了……

  31. Gravatar weeper

    对了,祝福你们小两口。
    春节愉快,合家欢乐,万事如意!

  32. Gravatar ALICE

    请问html source editor插件在哪能下载?

  33. Gravatar 央街浪子

    用的是Advanced TinyMCE Editor 插件
    插件地址:http://www.mkbergman.com/?page_id=383

  34. Gravatar kc

    ——steven的问题是你得先add GROUP才能add forum
    ——我自己遇到的问题
    1,中文显示乱码
    2,Warning: date() expects parameter 2 to be long, string given in /www/oxyhostsfree.com/s/o/s/sosmypc/htdocs/wp-content/plugins/wp-forum/forum-functions.php on line 656
    这两个问题和weeper的一样
    但是我看了回复并没有弄清楚
    能否给解释下?

  35. Gravatar 央街浪子

    @KC:你好,wp-forum的作者有段时间没有答疑和更新了。并且wp-forum本身有安全漏洞。如果仍然需要将论坛和博客整合的话,请使用simple:press forum,在我最新的博客文章里有介绍。

  36. Gravatar kc

    央街浪子,我正在使用press forum,各方面感觉都很好!
    但是有一点小问题,就是由于侧边栏的缘故,论坛被挤窄了。
    wp-forum是建立一个页面,然后调用论坛的标签,我看到press forum也有一个页面,但是我以html源代码方式编辑该页面的时候显示一片空白,所以我想参照wp-forum的方法可能并不有效。

    看见你博客的照片都经过处理了,很漂亮,家装修的很漂亮,很有心!

    “央街”是什么意思呢?

  37. Gravatar 央街浪子

    和wp-forum的方法一样,还是需要建立一个页面模板,在此定制的模板里,将sidebar的代码的去掉。然后页面(page)编辑的时候选用该定制模板。

    另:央街是我在加拿大生活的时候所住过的一条街道的名字,据说是世界上最长的街道,最北端在因为加拿大的地理位置关系在北极圈内 :-)

  38. Gravatar kc

    哦,好的,我修改的差不多了,就CSS有点毛病,有的图片位置不对。
    我还是有点纳闷为什么simple press forum的页面是空白的

  39. Gravatar 央街浪子

    什么空的?404错误,还是空白一片?
    你的页面slug name有没有配置正确呢? 如果方便的话留下网址和邮件地址我去看看

  40. Gravatar kc

    我使用的是动态形式,所以没有slugname,其实页没关系,虽然是空白的,可是论坛很正常
    对了,我看到你说过注册必须使用邮件,偶爱偶家提供了一个不用邮件发送密码的插件,你可以看看
    http://blog.2i2j.com/being-humble-opinion/wp-plugin-wordpress-password-register.html

  41. Gravatar 央街浪子

    @kc:嗯,知道(那个贴子里应该还有sbtalk的连接),这个就是当时因为搞wp-forum时候,因为注册麻烦想出来的,2i2j为此作了一个很完整的插件,很方便。

    现在的SPF,即使不注册也能发贴的,就像博客留言一样,所以注册邮件只是可选而已。

    最后,就此相关的讨论,我们可以在论坛里继续,作为此篇博客的评论已经不合适了,是吧? ;-)

    最近在考虑修改主页模板,搞成CMS的样式,这样,最新的博客文章,论坛贴子和图片就都能在主页显示了。

发布评论

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS 登录
This blog is protected by Dave's Spam Karma 2: 4679 Spams eaten and counting...