精通WordPress主题-7: 两种不用插件实现留言板的方法

很多Blogger都喜欢在博客中添加一个留言板,方便用户留一些与文章无关的留言,比如日常交流,交换链接,问题咨询等等。如果你想实现邮件通知类的联系表单,可以使用之前介绍的5款WordPress联系表单插件,而如果只是想有个独立的留言板页面,那改一个WordPress主题就能轻松的实现。

本文里面提供两种不用插件就能实现留言板的方法。如果你对WordPress主题的制作有兴趣,也可以查看本系列文章之前的几篇:

在WordPress的主题制作里面, page.php用来显示全局页面,comments_template()用来调用留言显示。但99%的主题的page.php里面都不会有,因为你总不希望你的每一个页面都能留言。所以重点就是为留言板页面增加这个函数。下面就介绍三种增加这个函数的方法来实现留言板页面。非常简单。

第一种方法: 新建一个留言板页面

1. 复制一份page.php,改名为contact.php(这个名称可以随便取,不要和WordPress的标准php模板引擎文件名冲突即可)。

2. 在conttact.php的顶部加上下面的代码:

<?php
/*
Template Name: Contact
*/
?>

这段代码用来定义模板名称, 其中的Contact也可以随便取名称,你自己知道这个模板名称是用来显示留言板就好了。

3. 新建一个页面,在页面编辑器的底部,你会找到Page Templates(页面模板)这个选项,从中选择刚才建立的Contact这个页面保存即可。

PS: 之前有好几个朋友向我咨询,说已经传了专门的页面模板,可是页面编辑界面里找不到Page Template/页面模板这个选项,俺也不明原因,也从来没碰到过找不到此选项的情况,如果有哪位知道原因,还望告知。

第二种方法: 使用 if 语句

这种方法很简单,只需要在你的page.php里面加入一个 if 判断语句即可。

1. 新建一个页面,比如contact, 且这个contact页面的缩略名是contact。

2. 打开page.php, 在你想添加留言板的地方加入下面的代码(通常加在 endwhile(); 后面即可):

<?php if (is_page('contact')) { ?>

<?php comments_template(); ?>

<?php } ?>

上面这段代码的意思就是: 当是页面为contact的时候,显示留言板。

第三种方法: 使用自定义字段

这个方法来自于幸福收藏夹的介绍,同样也是在page.php里面增加一个结合了自定义字段的if判断语句,跟第二种方法不同的是,它不需要预先定义哪些页面.

1. 在page.php里面想显示留言板的地方添加上下面的代码,

<?php if ( get_post_custom_values(’comments‘) ) comments_template() ?>

2. 到后台Write Page编辑界面, 找到”Custom Fields(自定义字段)”,在key区域里填入comments, 在value里面随便填入几个字符即可。具体截图演示操作可以看Sofisio的原文.

“精通WordPress主题-7: 两种不用插件实现留言板的方法”的24个回复

  1. 第三个方法没搞懂
    我去看了原文,还是没明白
    在endwhile下面添加了代码,去撰写页面里面添加了key和字段值,保存了,但是没看到什么变化

  2. paran!我想问一下.
    我新建了一个独立页面,里面都是我自己的留言,都是一两句话的那种,类似于微博.
    而我想把这个评论的列表移动到侧边栏上,请问该如何调用啊.

    找了很多插件都是调取最新留言的,而有的插件也只能调取分类下的留言,请问有什么插件可以调用指定页面的么?

    如果用代码去调用,应该如何写呢?
    辛苦了!谢谢!

  3. PS: 之前有好几个朋友向我咨询,说已经传了专门的页面模板,可是页面编辑界面里找不到Page Template/页面模板这个选项,俺也不明原因,也从来没碰到过找不到此选项的情况,如果有哪位知道原因,还望告知。

    是后台模板没用启用,启用一下,就用了。

  4. 在最新留言的列表里能蔽掉某一页面的留言,有没有这实现的方法啊,或者是只显示某个页面的留言,正在寻找,望高手指教

  5. 关于方法一,
    在自定义页面每个标题下有几个菜单。

    编辑 | 快速编辑 | 删除 | 查看

    选择 快速编辑 即可设置模板 😉

发表评论

电子邮件地址不会被公开。 必填项已用*标注