做一个wordpress留言板很简单,我们知道一般可以用新建一个主题名字叫“留言板”的页面,让访客以评论留言的方式来实现。但是这种方式建立的留言板,其实是一个一般主题(post)或页面(page),因此缺乏进一步定制的功能,而且提示文字也全部是“评论”
要做一个可定制的留言板其实很简单,只需要5步,那就让我们开始吧:)
如果你满足下列要求,请继续,
- 你有主机文件存储权限(一般博客服务提供商可能没有提供此权限).
- 你可以以admin权限登录后台(一般都有吧)
- 你大概知道点HTML和PHP文本形式的差别(定制部分需要修修改改,当然不难,只要认得出什么是html文本,什么是php文本就及格).
一:制作留言板模板:
1)找到你博客模板目录中的single.php文件(一般你的模板目录是在/wp-content/themes/博客模板名称/);复制single.php并重命名为guestbook.php,这样做的目的是我们希望留言板能保持博客的基本布局如:页面头部,页脚和侧边栏。因此最好的方式就是复制用来显示单篇主题的页面模板文件single.php

2)用一款合适的文本编辑器(如:editplus,ultraedit,notepad2,之所以没说windows自带的notepad是因为它对UTF-8的编码方式支持不好);打开guestbook.php 在文件头部找到如下php代码:
<?php get_header(); ?>
在此语句前加一段仅带注释语句的模板标识,这里我们将页面模板名字(Template Name)定义为Guestbook,这个名字在下面会有用到。
<?php
/*
Template Name: Guestbook
*/
?>

OK,简单吧,留言板的页面模板文件就做好了。
3)将修改后的guestbook.php上传到博客模板目录(/wp-content/themes/博客模板名称/)下
二:在后台创建留言板
4)以具有admin权限的帐号登录,新建一个页面,在主题名称处输入“留言板”,在内容处像往常写博客主题一样输入些内容,如:请留下宝贵意见和建议等等 ![]()

5)很重要的一步:在右侧页面模板(page template)处,选择刚才创建的guestbook页面模板,发布(publish),完成。

去自己的博客主页看看,根据博客模板的不同,留言板会以Tab方式或者侧栏链接的方式显示。

三:把留言板做的更完美
通过上面的5步,你已经拥有一个留言板了,但是这和新建主题/页面生成的留言板没什么区别。别急,因为我们的留言板是根据自建的guestbook页面模板生成的,所以做适当的修修改改就可以了,而且这并不会影响到其他一般主题或页面的显示
1)去掉发布日期:
如果你不希望你的留言板主题显示如一般主题那样的发布日期,那么在guestbook.php中找到如下代码并删除。
<?php the_time('Y/m/d') ?>
//根据不同模板不同可能有点不同,比如可能是
<?php the_time('M') ?>

2)自定义“留言”样式的提示文本
因为其他主题或页面的评论都是用到comments.php来显示和输入评论的,不能把那些地方的“评论”也改成“留言”了。
因此复制一份comments.php并命名为guestcomments.php,就在guestcomments.php上修修改改吧
把所有“X comments”(xxx条评论)改成“X guestbook entries”(xxx条留言)
把“Post Comment”(发布评论)按钮的提示改成“Sign Guestbook”(发布留言)

3)最新留言显示在顶部
按照评论方式的留言,总是最新的留言排在最下面,如果我们希望最新的留言显示在最上面,可以这么做
在guestcomments.php中找到如下代码:
foreach ($comments as $comment)
替换成
foreach (array_reverse($comments) as $comment)

好啦,自定义的留言文本和显示方式据改好了,最后别忘了把guestcomments.php上传到你的博客模板目(/wp-content/themes/博客模板名称/)下
4)仅仅修改上面的2),3);原来的guestbook.php并不知道你想启用新的留言和显示方式,所以我们还是要回到guestbook.php(不会那么快忘记这个文件吧:) )
找到如下代码:
<?php comments_template(); ?>
替换成
<?php comments_template('/guestcomments.php'); ?>

四:还有什么花样吗?
因为我们用的是guestbook.php作为留言板的页面模板,相比一般主题/页面生成的留言板, 通过修改guestbook.php, 我们能获得更多的功能和提示,因为我们能在此文件中加入php语句,可以是自编的,也可以是其他插件中引用过来的函数。
这也给了我们一个启示,就是通过自定义页面模板的方式,我们可以定义一个全新页面,可以保留侧栏(sidebar),页脚(foot),也可以不保留,然后在内容(content)部分加入自己的php代码。比如,我将Popularity Contest(主题流行程度)插件的输出函数放在自定义的页面模板中,做成一个类似于抓虾的热文(top rank)页面,由访客的浏览行为自动排序出该博客内的热门主题榜单。我的热文示例:http://www.sbtalk.com.cn/stats
本文翻译修改自”alleba blog>>How to Create a Wordpress Guestbook Reloaded“
我们是居住在上海的一对小夫妻,浪子喜欢折腾他的破计算机,小小喜欢画画。还有两条雪纳瑞狗狗,分别叫聪聪和悠悠。欢迎光临小站,我们随便说说,您随便逛逛,希望有您喜欢的话题。
你的那个热文排行怎么做的? 那个评分那里来的? feed的阅读呢? 引用次数呢?
用了什么插件没?
央街浪子 回复:用了alex king 的Popularity Contest,我准备就此写篇,这个插件太牛了
[回复]
很有用处,学习一下。
[回复]
这样做似乎没有实现分页功能啊
央街浪子 回复:没有分页不是留言板的问题,是因为本来一般主题(post)和页面(page)的评论就没有分页功能。这需要另外的插件。如果评论不多或者不想装太多插件,这样就已经够了
[回复]
谢谢, 看到了
[回复]
非常谢谢。
[回复]
收了
[回复]
谢谢!
应用到我的blog里了。
[回复]
[...] 文章来源:http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html [...]
[...] 参考这里 http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html [...]
[...] 弄了好半天还是没有什么效果,实在没有办法了,继续重装,这下重装的是主题,从网上重新下了这个风格,又按照了“简单5步,制作wordpress留言板”重新制作了留言板,问题终于解决了。留言的问题是解决了,可是我在原来风格上做的个性化全没了。。无奈啊。。又照着插件把主题又修改了下,总算恢复原样了! [...]
我照你说的坐了一个留言板,效果不错。但是在提交留言的时候出现了404,留言提交成功了,请问这是什么问题?谢谢
[回复]
留个网址我看看,只是说404线索太少,可能是重定向,可能permlink的设置,也可能是自定义模板调用等等问题。
[回复]
[...] 昨天晚上忙乎了很久,想制作一个留言板,在网上搜到“简单5步,制作wordpress留言板” [...]
想问下,我准备换个THEME,但是我原来的留言怎么转到新风格里面啊?好像全没了
[回复]
myspace
[回复]
不錯喔!改天試試看。
有空到我那邊走走吧。我的部落格裡面有好料的。
還有個討論區 forum.nrg.com.tw
[回复]
很强大
[回复]
[...] 本文翻译修改自”alleba blog>>How to Create a Wordpress Guestbook Reloaded“ 文章来源:http://wordpress.org.cn/forums/viewthread.php?tid=3632&highlight=%C1%F4%D1%D4%B0%E5 http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html [...]
纠正一个错误,就是4)guestbook.php启用新的留言和显示方式那块,替换成的代码应该是:,而不是
浪子,小小标点可害苦我了.
[回复]
e…是的,引号的问题,应该是半角引号,不是全角的。
有人提出来过,一直想找个显示代码的插件改了他,就一直这么搁着了。
[回复]
[...] http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html [...]
[...] ————————————————-以上出自http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html Filed under 日志 [...]
[...] 留言板制作方法(推荐使用):简单5步,制作wordpress留言板 [...]
[...] http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html [...]
参考这篇文章
http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html
有一个地方,post在留言列表的下部,怎么才能移到上面来才好。让留言列表在下边。
用editplus编辑guestcomments.php,将post大概从62到结尾部分剪切到每22句,则留言列表移到了post的下面,达到我预期的效果。这样做的好处是我不必到最下面去留言,直接在上面就可以留言,且新留言在上面显示,便于整理。
[回复]
参考这篇文章
http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html
有一个地方,post在留言列表的下部,怎么才能移到上面来才好。让留言列表在下边。
用editplus编辑guestcomments.php,将post大概从62到结尾部分剪切到第22句,则留言列表移到了post的下面,达到我预期的效果。这样做的好处是我不必到最下面去留言,直接在上面就可以留言,且新留言在上面显示,便于整理。
[回复]
[...] http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html [...]
[...] 本文链接:http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html [...]
很方便!!!不用插件就实现了留言!!!用上!!
[回复]
呵呵;多谢指点迷经!
default的模版下,两分钟就改好了,
不过有很多模板没有single.php,
但是还是可以改好的,
我用的是Ginseng Coffee 的模板,
就没有single.php,
不过还是做起来了,
呵呵,谢谢啦
[回复]
[...] 具体做法在这个网址 http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html#comment-2634 [...]
[...] 刚刚按照《简单5步,制作wordpress留言板》里面介绍的方法添加了个留言簿,不知道会不会有人留言给我呢? 期待第一份留言啊XD [...]
我想问下右边的这栏sidebar该如何调整底色,当我把整个页面调宽的时候,右边这栏的底色却错开了!
[回复]
央街浪子 reply on 五月 9th, 2008 9:18 下午:
因为这个主题的右栏底色是靠背景图片实现的,所以你光调整页面宽是不够的,要把背景图片也做相应调整
[回复]
[...] 新增留言版、繁简体文字转换及附一篇安全 2008年04月09日 建站札记 一直想做一个留言版供来访的网友,但不是太想用插件,上次装了一个插件后用的不是很好就卸载了。今天看到央街浪子写的《简单5步,制作wordpress留言板》(论坛版)正合意,就照样做了一个,感觉不错。 [...]
谢谢!修改成功了!
[回复]
谢谢帮助,已经做好了
[回复]
我想问一下,我怎么在wp2.5里面没有找到可以自定义模板的选项啊,很着急,希望有人给予回答。
[回复]
同上面:在wp2.5里面没有找到可以自定义模板的选项啊
怎么解决啊
[回复]
创建新页面或者新日志的时候,在页面模板选择。
[回复]
嗯,没有Page Template怎么办?
[回复]
..找到了…呵呵
[回复]
感谢。。这篇文章对我很有用
[回复]
[...] 简单5步,制作wordpress留言板 [...]
网站不错哦!!内容丰富可看性高!!
[回复]
[...] 简单5步,制作wordpress留言板,并页面模板的应用 文
[...] 请参考这个大部头的博文:http://www.sbtalk.com.cn/2007/06/16/wordpress_guestbook.html [...]
非常好,学会了,谢谢!
[回复]
可以是可以用了, 就是页面被撑大了
[回复]
[...]
[...] 简单5步,制作wordpress留言板 [...]
学习了
[回复]
我是一个新手,学习到了
[回复]
按照方法,成功创建了留言板
但是留言会进入最近评论,请问该如何处理?
[回复]
央街浪子 reply on 二月 28th, 2009 11:31 上午:
如果不想在最新评论里显示的话,需要修改最新评论的相关代码,过滤从某一个帖子或者页面出来的评论。
因为这种留言板本身就是帖子或者页面的另一种表现形式
[回复]
我用了ajax -edit-comments这个插件,发表评论和显示评论都是通过这个插件实现的,我按照此文修改,还是不能实现“发表评论”—-》”我要留言“。这是插件的问题吗?
[回复]
央街浪子 reply on 三月 10th, 2009 4:42 下午:
你博客中一般帖子的评论没问题的话,这个方法就应该没问题。
因为是从博客文章的模板single.php复制出来的,你可能是复制后的模板未修改,在留言页面也没使用新的模板。
[回复]
谢谢博主,学会了。
[回复]
一直在找这个,不错,谢谢了
[回复]
伪静态知道这么做吗?
[回复]
按照说的方法替换foreach (array_reverse($comments) as $comment)
为什么还是从上到下排列的??不解///
[回复]
谢谢站长! 按你的步骤初步做出了留言板,只是那人头好小,还有如何添加表情呢? 是否有美化留言板的教程呢?! 期待回复!谢谢啦!
[回复]
你好!我在comments.php中找不到“X comments”和“Post Comment”这两个地方。
[回复]
我使用的主题在添加新页面的时候没有”Page Template”这个选项,换回默认主题的时候它就有(我用中文版,那个选项叫“模板”),怎样为主题增加可以使用模板的功能呢?博主帮帮我好吗?我使用的主题http://lucyfour.co.cc/down/clockwork.1.05.zip 帮我看看行不?
[回复]
央街浪子 reply on 八月 23rd, 2009 11:57 下午:
后台模板选项和选什么主题是没关系的。但是这里可能有一个bug: page template field missing
下面这篇文章有讲到怎么解决。
http://www.maverickwebcreations.com/2008/11/04/fix-the-wordpress-missing-page-template-bug.html
如果还是不行的话,可能要Google一下,其他人的解决方法,官方论坛上可能也有此讨论。但根据每个人使用模板的情况有所不同。这个只能自己看了。
[回复]
这个方法在wordpress 2.8上有问题,留言不会显示,这篇上的方法可用http://witmax.cn/wordpress-guestbook.html
[回复]
学习了,简单的方法。
[回复]
[...] [...]
[...] 实现方法:《简单5步,制作wordpress留言板》 [...]
[...] 我的留言板制作主要参考大大有名的sbtalk上,大大有名的简单5步,制作wordpress留言板一文制作的。只是其成文比较早,wp的版本又不断更新,文中所述方法里面就出现了一点点没跟上wp版本脚步的小问题。 [...]
很受用的
[回复]
这样做的留言板留言会出现在最新评论里面,请问如何在“最新评论里”去掉留言?
[回复]
这样留言的内容会出现在“最近评论”里面,如何把留言从“最近评论”里面去掉呢?
[回复]
央街浪子 reply on 八月 12th, 2010 10:28 上午:
嗯,这个帖子太老了,没考虑这个问题.
要改的话,也不是不可以,但是要改动到具体每个模板”最近评论”的这段代码(如果是用widget的话,还要考虑widget的代码),依据post id这样的属性来过滤.
很久没玩wp的代码了,具体实现就自个儿研究下吧. 不过这不是一个通用的做法,因为模板换了,就又出现了.
不过,我个人觉得,留言的回复,出现在最近评论里也没啥不好.至少有一个统一的地方,看看别人在站里的最新回复. 所谓”最新评论”只是名字不太恰当而已.哈哈
[回复]
[...] 最详细的方法参考sbtalk的文章 [...]
确实很简单啊~~~关键是怎么美化啊··
[回复]
好文一篇!顶起!照着做成了——请看演示www.microgts.com/support/guestbook/
我这菜鸟也能行,你也行的!
[回复]