WordPress 2.8留言板制作教程
在WordPress中,留言板可以通过增加一个标题为“留言板”的页面来实现。但这样实现的留言板有发布时间且显示为评论,看起来总不是那么那么合适。究其原因,可发现WordPress页面和文章的实现几乎是一样的,因而其显示效果也就几乎相同。
以前参考《简单5步,制作wordpress留言板》制作了留言板,但最近发现留言内容无法显示,通过测试代码知该文中提到的方法是针对较早版本的WordPress。因而修改修正一下,便有了下文。增加了留言板功能的本站点主题Inove可在《WordPress主题inove v1.4.6修改版》下载。
一、制作留言模块
1、添加留言模块文件
找到你博客模板目录中的comments.php文件(一般模板目录是在/wp-content/themes/博客模板名称/);复制comments.php并重命名为guestcomments.php。
注:用一款合适的文本编辑器进行编辑,如emeditor、editplus、ultraedit、notepad2,之所以不用windows自带的notepad是因为它对UTF-8的编码方式支持不好。
2、修改留言的提示文本
将其中的“评论”改为“留言”,具体修改可直接修改源文件,但考虑到多语言特性,建议通过修改语言文件来完成。如修改如下代码
_e('Leave a comment', 'inove');
为
_e('Leave a message', 'inove');
然后在语言文件中增加
msgid "Leave a message" msgstr "发表留言"
关于语言文件的修改可参考《WordPress主题插件语言包制作工具》。
3、最新留言显示在顶部
默认情况下是按时间顺序来显示的,即最新留言在最底下。要使最新留言显示在最顶上,即需要按时间倒序显示留言,修改如下代码:
// for WordPress 2.7 or higher if (function_exists('wp_list_comments')) { wp_list_comments('type=comment&callback=custom_comments'); // for WordPress 2.6.3 or lower } else { foreach ($comments as $comment) { if($comment->comment_type != 'pingback' && $comment->comment_type != 'trackback') { custom_comments($comment, null, null); } } }
为:
// for WordPress 2.7 or higher if (function_exists('wp_list_comments')) { wp_list_comments('type=comment&callback=custom_comments&reverse_top_level=DESC'); // for WordPress 2.6.3 or lower } else { foreach (array_reverse($comments) as $comment) { if($comment->comment_type != 'pingback' && $comment->comment_type != 'trackback') { custom_comments($comment, null, null); } } }
注:wp_list_comments函数参考WordPress Codex说明。
二、制作留言板页面模板
1、添加模板页面文件
找到你博客模板目录中的用来显示单篇主题的页面模板文件single.php文件;复制 single.php并重命名为guestbook.php,这样做的目的是我们希望留言板能保持博客的基本布局如:页面头部,页脚和侧边栏。
2、打开guestbook.php
在文件最顶上插入一段仅带注释语句的模板标识,这里我们将页面模板名字(Template Name)定义为Guestbook,这个名字在下面会有用到。
<?php /* Template Name: Guestbook */ ?>
3、引入留言模块
在留言页面中引入前面修改过的留言模块。找到如下代码:
<?php include('templates/comments.php'); ?>
替换为如下代码:
<?php if (function_exists('wp_list_comments')) { comments_template('/guestcomments.php', true); } else { comments_template(); } ?>
4、修改页面细节
如inove主题下面包屑导航中页面被放入未分类下,显得不太合适。遂将以下代码:
<div id="postpath"> <a title="<?php _e('Go to homepage', 'inove'); ?>" href="<?php echo get_settings('home'); ?>/"><?php _e('Home', 'inove'); ?></a> > <?php the_category(', '); ?> > <?php the_title(); ?> </div>
改为:
<div id="postpath"> <a title="<?php _e('Go to homepage', 'inove'); ?>" href="<?php echo get_settings('home'); ?>/"><?php _e('Home', 'inove'); ?></a> > <?php the_title(); ?> </div>
另外删除相关文章、下一篇文章导航等代码。具体修改视具体主题而定。
三、添加留言板页面
1、以具有admin权限的帐号登录wp管理界面。
2、新建一个页面,在主题名称处输入“留言板”,在内容处入些内容,如“欢迎留言! :-)”等等。在右侧页面模板(page template)处,选择刚才创建的guestbook页面模板,发布(publish),完成。
四、完成效果
五、说明
制作的留言板模板还可方便地运用于其他页面,只需要在编辑页面界面选择模板为留言板模板即可,使用方便,且可保持页面风格的统一。另外,通过模板的修改我们能加上其他的代码,做出我们想要的显示效果。
我的wp主题是zbench 在该主题下啥都没找到 请求博主指点迷津 ORz
[回复]
晴枫 9月 23rd, 2013 下午2:40 回复:
@傲弑月读, 请找到类似的代码位置对应进行修改
[回复]
来学习,谢谢
[回复]
博主,你好,看到你这篇文章,下载了你修改后的主题,传上去,有个问题就是,那个评论的地方多了个设计个性头像的连接提示,怎么只能才登陆后才能看到,能修改成不用登陆就可以看到吗?
[回复]
晴枫 6月 3rd, 2010 下午3:26 回复:
@kjmgc, 你是说 Gravatar吗?看一下这篇《Wordpress 评论头像设置方法》http://witmax.cn/wordpress-gravatar.html
[回复]
呵呵 学习了 呵呵
[回复]
谢谢了,有点复杂
[回复]
很好,谢谢了
[回复]
博主大大http://www.fxzhe.com/这个也是跟我们一样的主题。。。可是他的导航页面怎么实现的。。。
[回复]
晴枫 1月 28th, 2010 上午10:57 回复:
@光, 你是说它页面顶上的站点导航吗?那个自己修改一下模板
[回复]
好像你的博客也修改文章成显示全部日志的了,可是我又想到一个问题。拿你的博客来说,日志是越来越多,可是如果点击“文章”如果显示几百篇日志的话,那太恐怖了,有没有可以分页的方法。
[回复]
晴枫 1月 27th, 2010 下午12:51 回复:
@光, 单用wp_get_archives没办法,需要用别的方法来解决
推荐WP-EasyArchives插件http://wordpress.org/extend/plugins/wp-easyarchives/
我已经装上了,你可以看下效果
[回复]
谢谢,博主大大,已经解决了。。。。
[回复]
还有一个问题:你的博客上面(文章、下载、关于、。。。)
新建页面选择archives,然后发布。点击文章后,显现的是存档。
问:我想弄成显现的是全部日志,而不是存档,该怎么样实现。因为旁边页面模板(page template)处没有模板可以选择。。。需要如何修改
[回复]
晴枫 1月 25th, 2010 上午11:07 回复:
@光, 打开模板文件夹下的archives.php 将wp_get_archives(‘type=monthly&show_post_count=1’);修改为 wp_get_archives(‘type=postbypost&show_post_count=1’);
[回复]
光 1月 25th, 2010 下午5:34 回复:
@晴枫,
Parse error: syntax error, unexpected ‘=’ in /home/vhosts/www.xyan.tk/wp-content/themes/inove/archives.php on line 28
修改后竟然成了这样。。。高手支招啊。
[回复]
晴枫 1月 25th, 2010 下午11:10 回复:
@光, 因为显示原因,代码中的半角单引号变成了全角单引号,注意改下,看看这个原因导致的;如仍有问题可能你要检查一下代码了
[回复]
建议:请直接把弄好的留言文件加进你修改过的主题去。这样也方便了我们这类不懂编码的人使用。谢谢
[回复]
晴枫 1月 23rd, 2010 下午12:24 回复:
@简单描述, 留言文件已经包括在修改过的主题里面,需要在后台管理添加一个留言页面才会生效,操作方法见上文中的 三、添加留言板页面 部分
[回复]
博主大大,您好,我也不会弄,你直接把那模块文件发给我好么,谢谢。
因为我想弄个BLOG,但是我对网页编辑不懂。所有麻烦你了
[回复]
你好!留言板现有的模板还有么?实在是不明白?可否传一份到我的邮箱呢?谢谢了!【我的博客主题跟你是差不多的】
[回复]
晴枫 10月 1st, 2009 下午2:28 回复:
@无语,
我改过的模板在http://witmax.cn/wordpress-theme-inove-modified.html里提供了下载
[回复]
@老石
留言页面的样式和主题风格有关,为了和主题搭,最好还是自己来改一下。我修改过的主题发给你了
[回复]
请问,留言板现有的模板还有么?实在不想自己动手做?可否传一份到我的邮箱呢?谢谢了!
[回复]
非常好!正想找这样一个内容呢!
[回复]
@孤毒老鼠
在帮你换链之前写的
[回复]
囧死~~没看到你这篇文章
[回复]