不会健身的程序员
不是好作家

深入浅出wordpress主题制作(十一)评论模板-comments.php

前面我们制作了文章单页模板,我们可以发现单页模板的代码跟index.php差不多,不过今天我们让它们的差别大一点,我们给文章模板加入评论表单,让访客可以发表评论。

首先在主题文件夹下面新建一个文件comments.php,然后打开single.php文件,将里面的评论代码剪切出来,粘贴到comments.php文件中,要剪切的代码如下:

然后在single.php文件原来的位置添加代码:

comments_template()函数默认的就是加载主题文件夹下面的comments.php文件,这个函数也是可以带参数的,以便让你可以加载别的文件,比如某些页面你需要加载一个不一样的评论表单,你就需要使用comments_template()带上参数,这里不细说。

为了防止某些恶意用户直接打开评论文件,我们在comments.php的头部添加代码:

修改评论列表

wordpress有自动输出评论列表的函数wp_list_comments(),所以我们将原来的评论列表代码删除,换上这个函数,但是我们还需要加一些判断功能,比如评论需要密码才能查看、评论已经关闭、还没有评论这几个情况都要有不同的输出,所以将原来的评论代码:

替换成:

上面的wp_list_comments函数中我们家里两个参数,其中type=comment意思只输出评论,除了评论还有pingstrackback pingback等等什么的,callback=aurelius_comment意思是调用一个自定义的函数函数aurelius_comment来显示评论。

自定义的函数我们需要添加在主题的functions.php文件中,所以请在functions.php中的"?>"的前面增加下面的代码,如果你的functions.php文件中已经存在了下面的代码,就不要再添加了:

上面的自定义函数中用到的几个函数的说明如下:

  1. get_avatar($id_or_email,$size,$default, $alt);

    $id_or_email
    ,这个参数必须,可以使一个用户ID、一个email,或者直接一个comment对象,上面代码就是直接将评论对象作为参数。

    $size,这个参数就是头像大小,默认是96,上面代码设为32

    $default,一个图片地址,就是用户没有头像是显示的图片,默认是后台设置的那个

    $alt,就是图片的$alt信息了,我觉得alt信息应该用评论者名字

  2. comment_reply_link(); //回复链接
  3. get_comment_author_link(); //获取评论者的链接
  4. get_comment_time(); //获取评论时间
  5. edit_comment_link(); //编辑评论的链接
  6. comment_text();//输出评论内容
  7. 添加了上面的代码评论已经能正确显示了,接下来添加提交评论的表单。

    评论表单

    将原来comments.php中的评论表单代码删除:

      

实际上你不需要再手动输入每个表单项了,新版的wordprss提供了一个非常方便的函数:comment_form(),添加代码如下:

可以看到上面的代码中也添加了判断,看是否允许评论,是否需要登录才能评论。

你完全可以通过comment_form()函数的各个参数再配合css输出一个个性化的表单,这在以后的教程中讲。

知识点

  1. get_avatar($id_or_email,$size,$default, $alt),comment_reply_link(),get_comment_author_link(),get_comment_time(),edit_comment_link(),comment_text()函数的使用
  2. comment_form函数的使用

下载

最后附上小林依据本篇文章所做的修改,给大家提供参考,传送门

赞(0)
转载请注明出处:小林博客 » 深入浅出wordpress主题制作(十一)评论模板-comments.php
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

谢主隆恩

支付宝扫一扫打赏

微信扫一扫打赏