首页 > 站点建设 > WordPress 2.8留言板制作教程

WordPress 2.8留言板制作教程

2009年9月12日 发表评论 阅读评论

在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>
	 &gt; <?php the_category(', '); ?>
	 &gt; <?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>
	 &gt; <?php the_title(); ?>
</div>

另外删除相关文章、下一篇文章导航等代码。具体修改视具体主题而定。

三、添加留言板页面

1、以具有admin权限的帐号登录wp管理界面。

2、新建一个页面,在主题名称处输入“留言板”,在内容处入些内容,如“欢迎留言! :-)”等等。在右侧页面模板(page template)处,选择刚才创建的guestbook页面模板,发布(publish),完成。

四、完成效果

WordPress留言板最终效果

WordPress留言板最终效果

五、说明

制作的留言板模板还可方便地运用于其他页面,只需要在编辑页面界面选择模板为留言板模板即可,使用方便,且可保持页面风格的统一。另外,通过模板的修改我们能加上其他的代码,做出我们想要的显示效果。


枫芸志原创文章,转载请注明来源并保留原文链接




本文链接:http://witmax.cn/wordpress-guestbook.html




分类: 站点建设 标签: 81,806次阅读
  1. 2009年9月20日00:40 | #1

    囧死~~没看到你这篇文章

    [回复]

  2. 2009年9月20日00:58 | #2

    @孤毒老鼠
    在帮你换链之前写的

    [回复]

  3. 2009年9月29日17:18 | #3

    非常好!正想找这样一个内容呢!

    [回复]

  4. 2009年9月29日17:58 | #4

    请问,留言板现有的模板还有么?实在不想自己动手做?可否传一份到我的邮箱呢?谢谢了!

    [回复]

  5. 2009年9月30日15:48 | #5

    @老石
    留言页面的样式和主题风格有关,为了和主题搭,最好还是自己来改一下。我修改过的主题发给你了

    [回复]

  6. 无语
    2009年10月1日07:42 | #6

    你好!留言板现有的模板还有么?实在是不明白?可否传一份到我的邮箱呢?谢谢了!【我的博客主题跟你是差不多的】

    [回复]

    晴枫 回复:

    @无语,
    我改过的模板在http://witmax.cn/wordpress-theme-inove-modified.html里提供了下载

    [回复]

  7. 简单描述
    2010年1月23日01:24 | #7

    无语 :你好!留言板现有的模板还有么?实在是不明白?可否传一份到我的邮箱呢?谢谢了!【我的博客主题跟你是差不多的】
    [回复]

    晴枫 2009年10月1日 14:28 回复:
    @无语,我改过的模板在http://witmax.cn/wordpress-theme-inove-modified.html里提供了下载
    [回复]

    博主大大,您好,我也不会弄,你直接把那模块文件发给我好么,谢谢。
    因为我想弄个BLOG,但是我对网页编辑不懂。所有麻烦你了

    [回复]

  8. 简单描述
    2010年1月23日01:27 | #8

    建议:请直接把弄好的留言文件加进你修改过的主题去。这样也方便了我们这类不懂编码的人使用。谢谢

    [回复]

    晴枫 回复:

    @简单描述, 留言文件已经包括在修改过的主题里面,需要在后台管理添加一个留言页面才会生效,操作方法见上文中的 三、添加留言板页面 部分

    [回复]

  9. 2010年1月24日16:41 | #9

    还有一个问题:你的博客上面(文章、下载、关于、。。。)
    新建页面选择archives,然后发布。点击文章后,显现的是存档。
    问:我想弄成显现的是全部日志,而不是存档,该怎么样实现。因为旁边页面模板(page template)处没有模板可以选择。。。需要如何修改

    [回复]

    晴枫 回复:

    @光, 打开模板文件夹下的archives.php 将wp_get_archives(‘type=monthly&show_post_count=1’);修改为 wp_get_archives(‘type=postbypost&show_post_count=1’);

    [回复]

    回复:

    @晴枫,
    Parse error: syntax error, unexpected ‘=’ in /home/vhosts/www.xyan.tk/wp-content/themes/inove/archives.php on line 28
    修改后竟然成了这样。。。高手支招啊。

    [回复]

    晴枫 回复:

    @光, 因为显示原因,代码中的半角单引号变成了全角单引号,注意改下,看看这个原因导致的;如仍有问题可能你要检查一下代码了

    [回复]

  10. 2010年1月25日23:33 | #10

    谢谢,博主大大,已经解决了。。。。

    [回复]

  11. 2010年1月26日19:27 | #11

    好像你的博客也修改文章成显示全部日志的了,可是我又想到一个问题。拿你的博客来说,日志是越来越多,可是如果点击“文章”如果显示几百篇日志的话,那太恐怖了,有没有可以分页的方法。

    [回复]

    晴枫 回复:

    @光, 单用wp_get_archives没办法,需要用别的方法来解决
    推荐WP-EasyArchives插件http://wordpress.org/extend/plugins/wp-easyarchives/
    我已经装上了,你可以看下效果

    [回复]

  12. 2010年1月27日21:19 | #12

    博主大大http://www.fxzhe.com/这个也是跟我们一样的主题。。。可是他的导航页面怎么实现的。。。

    [回复]

    晴枫 回复:

    @光, 你是说它页面顶上的站点导航吗?那个自己修改一下模板

    [回复]

  13. 2010年2月4日11:18 | #13

    很好,谢谢了

    [回复]

  14. 2010年2月10日21:36 | #14

    谢谢了,有点复杂

    [回复]

  15. 2010年3月20日23:52 | #15

    呵呵 学习了 呵呵

    [回复]

  16. 2010年6月3日08:23 | #16

    博主,你好,看到你这篇文章,下载了你修改后的主题,传上去,有个问题就是,那个评论的地方多了个设计个性头像的连接提示,怎么只能才登陆后才能看到,能修改成不用登陆就可以看到吗?

    [回复]

    晴枫 回复:

    @kjmgc, 你是说 Gravatar吗?看一下这篇《Wordpress 评论头像设置方法》http://witmax.cn/wordpress-gravatar.html

    [回复]

  17. 2012年5月4日06:02 | #17

    来学习,谢谢

    [回复]

  18. 傲弑月读
    2013年9月23日01:50 | #18

    我的wp主题是zbench 在该主题下啥都没找到 请求博主指点迷津 ORz

    [回复]

    晴枫 回复:

    @傲弑月读, 请找到类似的代码位置对应进行修改

    [回复]

  1. 2010年10月15日22:32 | #1
  2. 2010年11月1日22:36 | #2
  3. 2010年11月30日17:32 | #3
  4. 2011年2月14日10:59 | #4
  5. 2011年3月25日16:09 | #5
  6. 2011年7月4日14:20 | #6
  7. 2012年4月18日00:15 | #7
订阅评论
  欢迎参与讨论,请在这里发表您的看法、交流您的观点。

无觅相关文章插件,快速提升流量