首页 > 网站建设, 计算机 > [转]WordPress 2.8留言板制作教程

[转]WordPress 2.8留言板制作教程

2011年10月24日 发表评论 阅读评论

转自枫芸志,http://witmax.cn/wordpress-guestbook.html

在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、修改留言的提示文本

将其中的“评论”改为“留言”,具体修改可直接修改源文件,但考虑到多语言特性,建议通过修改语言文件来完成。如修改如下代码

1
_e('Leave a comment', 'inove');

1
_e('Leave a message', 'inove');

然后在语言文件中增加

1
2
msgid "Leave a message"
msgstr "发表留言"

关于语言文件的修改可参考《WordPress主题插件语言包制作工具》。

3、最新留言显示在顶部

默认情况下是按时间顺序来显示的,即最新留言在最底下。要使最新留言显示在最顶上,即需要按时间倒序显示留言,修改如下代码:

01
02
03
04
05
06
07
08
09
10
11
// 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);
        }
    }
}

为:

01
02
03
04
05
06
07
08
09
10
11
// 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,这个名字在下面会有用到。

1
2
3
4
5
<?php
/*
Template Name: Guestbook
*/
?>

3、引入留言模块

在留言页面中引入前面修改过的留言模块。找到如下代码:

1
<?php include('templates/comments.php'); ?>

替换为如下代码:

1
2
3
4
5
6
7
<?php
    if (function_exists('wp_list_comments')) {
        comments_template('/guestcomments.php', true);
    } else {
        comments_template();
    }
?>

4、修改页面细节

如inove主题下面包屑导航中页面被放入未分类下,显得不太合适。遂将以下代码:

1
2
3
4
5
<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>

改为:

1
2
3
4
<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留言板最终效果

五、说明

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





  1. 2011年10月25日10:50 | #1

    同学,转载文章的时候请注明一下原文的链接,谢谢

  2. 吕旭
    2011年10月25日21:22 | #2

    @晴枫
    不好意思。疏忽了。只加了一个Trackback,忘了加原文链接了。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
订阅评论
  欢迎参与讨论,请在这里发表您的看法、交流您的观点。