主题手术之修改回调函数,加Ajax评论与评论回应邮件

本来还在放寒假的时候就想写这一篇文章,可惜忙于编程,一直都没有时间,回来后又为了冲击yslow的Grade A,天天修改网站代码,今天实在累了,就先不改了,好不容易从72分的Grade C冲到现在Grade B 89分,还差最后的一分才到Grade A,就先放一下,写几篇文章跟大家分享这段时间的网站心得。

……

回归正题

之前在MUCID童鞋的博客回复时偶尔发现了两种令我十分惊喜的效果,准确点说,是两种十分好的用户体验,一直都觉得自己主题的UE做得不是那么的好,于是修改UE的想法马上就来了。后来发现,原来是willin 大师的《WordPress 內置嵌套評論專用 Ajax comments》《Comment Mail Notify》两篇文章中介绍的效果,这时候我看看这种效果的名字——Ajax评论,Wordpress Thread Comment也有喔!可惜这款插件的样式实在太……了(但功能绝对是强大),不过07年的插件,差不多了。这下惨了,之前因为不会写内置嵌套评论,所以才启用插件,如果这次不用插件了,几乎是要重写评论模板代码了,还要改回调函数,还要重写css,才能用上大师的Ajax comments,多么伟大的工程啊!不过也打算把这款主题作长久之用,把它改得更好也是应该的,于是狠下心来,重写吧!

 

首先把原来一大段的评论代码删了,然后换上wp_comments_list(话说这函数挺强大的),之后就开始修改回调函数了,这里介绍一下:

 

首先在 WordPress 主题的 functions.php里找到类似

function commentslist($comment, $args, $depth) {

 

这一句开始,就是commentslist的默认代码,通常主题的functions.php里都有备注哪一部分是comments部分,大家也可以根据备注找一下。

 

然后就可以自行修改了,其实修改回调函数跟修改comments.php一样,那些之前没有调用wp_comments_list而自己写评论样式的朋友其实可以把自己的样式放到回调函数中,然后调用wp_comments_list,这样就省下不少时间,因为对自己之前的样式不大喜欢,所以我还是重写了样式。

 

修改回调函数后再调用wp_comments_list,我的具体的调用语句是

<?php wp_list_comments(array('callback' => 'commentslist')); ?>

然后再开启原生的嵌套回复

 

方法我在这里就不copy了,大家可以参考NEOEASE童鞋的文章

http://www.neoease.com/wordpress-thread-comments/

到现在为止主题的不少模板都被修改了,comments.php和guestcomments.php更被重写,还有相关的css,全部重写了,在这次重写css中发现并解决了几个bug,将会再写一篇文章跟大家分享。

 

最后到重头戏加入Ajax评论与评论回应,辛亏willin大师的教程写得清楚,之后就是修改相应的css。

 

为了这次主题修改,把寒假最后几天都用光了,不过看到主题有一个更好的UE,神马都值了。

本文由 Kayo Lee 发表,本文链接:http://kayosite.com/callback_ajaxcomment_emailrespond.html

评论列表

  • 评论者头像
    回复

    Hi guys! Great site! Does anyone know more sites on this topic?

  • 评论者头像
    回复

    Hey dude! Great blog! I really liked being here.

  • 评论者头像
    回复

    输入回复内容 :-P ,还不熟悉AJAX,目前我的个人主题也想用上,不过就是搞不上去,没基础啊

    • 评论者头像
      回复

      @忘想 其实Ajax也不是很神秘的东西,一步一步调试也是能做出来的!

回复

你正在以游客身份访问网站,请输入你的昵称和 E-mail
:wink: :roll: :oops: :mrgreen: :idea: :cry: :?: :-| :-o :-P :-? :) :( 8-O