适用于 WordPress 3.5+ 请移步到这里《适用于 WordPress3.5+ 的 Willin 版本 AJAX 评论提交》
从昨天开始就一直在折腾WordPress 2.7原生嵌套评论的AJAX效果,但根据 Lorz 的文章《WordPress 完美 AJAX 嵌套评论》愣是没折腾成功。后来在 Lorz 的帮助下,今天终于搞定了。
大家应该知道WordPress 2.7原生嵌套评论函数是wp_list_comment(),但不知什么原因很多评论插件都没有支持此函数,自从我自己折腾模板时评论函数就一直是使用wp_list_comment() ,也曾经折腾过试嵌套评论支持 Ajax,但一直就没成功过,原因嘛,就是不懂php+js,哈哈
既然折腾成功了,那么就要分享。喜欢折腾的朋友可以直接去 Lorz 的文章《WordPress 完美 AJAX 嵌套评论》,我这里只写出具体的步骤,原理什么的就算了,因为我也不怎么懂。
……由于直接粘贴代码出错,以前的内容删除,具体看下面
2009.7.7 Update
昨天开始跟willin讨论他编写的wp2.7嵌套评论,根据willin的comments-ajax.js和comments-ajax.php我修改上面讨论的wp2.7(wp2.8)嵌套,解决了一直存在的问题:
1. 嵌套回复后留言框不能自己回到下面
2. comments-ajax.php是放在wordpress根目录下的,不知怎样移到模版下(直接移到其他目录会出错)
3. 评论总数显示错误。
上面说了,粘贴代码会出错,所以具体的代码修改方法也不写了,直接提供comments-ajax.js和comments-ajax.php文件下载:ziddu网盘下载 / uushare下载
下载好后按照下面的步骤:
一、下载这两个文件后,用文本编辑软件打开 comments-ajax.js 查找"zwwooooo"然后按照标示的说明修改就可以了(要修改的地方我都用"zwwooooo"标示并写有说明),修改好后把这2个文件上传到你的主题目录下。
二、打开主题文件footer.php,把下面的代码加到<?php wp_footer(); ?>下面
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script> <script src="<?php bloginfo('template_directory'); ?>/comments-ajax.js" type="text/javascript"></script>
三、然后打开主题文件comments.php,找到类似下面的
<h2 id="comments"><?php comments_number('0 Responses', '1 Responses', '% Responses' );?> to “<?php the_title(); ?>”</h2>
改为
<h2 id="comments"><span id="comment-num"><?php comments_number('0', '1', '%' );?></span> Responses to “<?php the_title(); ?>”</h2>
OK了,试试吧。
补充:(2009.7.8)
如果你的主题里面的 comment.php 中 wp_list_comment 的函数中有 callback
,那么请打开主题下的 function.php 。找到与 callback 同名的函数,将其中的 <li>
与</li>
之间的夹杂 php 代码的 html 部分复制过来替换 comments-ajax.php 里面最后面那里的 <li>
与</li>
之间的内容。接着将其中两个函数 comment_class 和 comment_reply_link 的参数改成下面的样子:
//…… comment_class('',$comment_id,$comment_post_ID); //…… comment_reply_link( array( 'depth' => $comment_depth, 'max_depth' => get_option('thread_comments_depth') ),$comment_id,$comment_post_ID) //……
本文所说在 wordpress 2.7 和 2.8下测试成功,因为我已经升级为 wp2.8 ,所以 2.7 会稍微不同,但按原理来说下载的文件应该兼容 wp2.7 ,各位慢慢折腾吧。
2009.8.15 Update:
willin 最新折腾出的方法,很方便,不需要修改文章里说的两个文件就可以用了,而且效果比这个好:《WordPress 内置嵌套评论专用 Ajax comments》
PS:不知是不是因为服务器环境问题,willin最新的方法我这里失效,但经过willin'阉割'的版本就OK了--把"刷新前可以编辑自己的新评论"功能去掉,效果大家可以直接评论试试。 2009.8.18 willin已经解决此问题了,只要重新下载下面的'willin提供的下载'就可以了
willin提供的下载地址: comments-ajax.zip
如果出现我'PS'所说的状况,可以用和我一样的: ziddu网盘
2009.10.21 Update:
下载 comments-ajax.zip (8.90k) (v1.26 2009/10/21 更新)
下载 comments-ajax(no-edit).zip (7.96k) (v1.26 2009/10/21 更新, “无在编辑版” )
2010.5.20 Update:
最新的 1.29 版本下载(支持WP2.9.x):uushare网盘 (2010.3.25 by willin)
最新的 1.3 版本下载(只能用在WP3.0.x):uushare网盘 (2010.5.20 by willin)
具体方法直接去这里吧:http://kan.willin.org/?p=1271
这里说说使用方法:
1. 解压下载到的压缩文件得到2个文件:comments-ajax.js、comments-ajax.php,把其放到到所使用的主题目录下
2. 打开所用主题的 header.php(有些主题是在 footer.php)找到下面的代码
<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>
替换为
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script> <?php if ( is_singular() ){ ?> <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/comments-ajax.js"></script> <?php } ?>
如果你所使用的主题评论结构够规范,那么就可以工作了
- 本文标题:WordPress 2.7~3.0原生嵌套评论的AJAX实现办法
- 本文链接:https://zww.me/archives/24365
- 发布时间:2009年06月14日 19:20
- 版权声明:除非注明,文章均为 zwwooooo 原创,转载请以链接形式标明本文地址!
老大,我用的INOVE模版,想问一下,要怎么来修改!!谢谢!!我修改了,可没达到你这种效果!!
@Mr.差不多 iNove的评论部分自定义太高,所以很难改,还是用插件吧
不错不错学习了
@zwwooooo
看来没戏了,只好有时间慢慢来改了!!
@Mr.差不多 有时间看看吧
@zwwooooo 谢谢了!!就算是两个月,我也愿意等! 因为我太菜了! 很喜欢这功能!!太强大了!!忍不住诱惑呀!
@Mr.差不多 直接换主题不就得了,虽然inove很优秀
好吧。。。
我是来图片另存为这个loading小图的
@LLT 这个小图片随便拿去用
[...] 我又在 js 中加了判断式) 4. 评论数量实时更新显示. (感谢 ZWWoOoOo 提供想法, 我做了大幅修改) 5. 评论提交成功, 评论框自动回底层. (参考 [...]
TEST
[...] 我又在 js 中加了判断式) 4. 评论数量即时更新显示. (感谢 ZWWoOoOo 提供想法, 我做了大幅修改) 5. 评论提交成功, 评论框自动回底层. (参考 [...]
看看效果
@zero
好像很给力。
[...] 我又在 js 中加了判斷式) 4. 評論數量即時更新顯示. (感謝 ZWWoOoOo 提供想法, 我做了大幅修改) 5. 評論提交成功, 評論框自動回底層. (參考 [...]
待机啊浪费
@瓦尔
最近为了这个评论版块,真是费了不少劲啊,现在终于是有点型了。这里要谢谢不少人,也包括ZWWOOOOO啊。
@Dawnson 这个willin已经折腾的很方便了,一般主题的评论结构够规范直接就能用了
@zwwooooo 很好,确实省去不少事情
@zwwooooo
我也试下下。
我觉得这个好
@keke 对,很方便
对于提交评论都会刷新一下页面感到头痛,所以我来了。
@第六空间
厄~加ajax吧
@zwwooooo
- - , 用了之后提交成功 之后 一直显示 “提交成功”怎么才能显示出评论内容 - -
willin的网站好像流量超被停了 …
@Lotwen
注意看文章说明,willin那挂了,囧
@zwwooooo
昨晚研究一晚的表示某函数无法使用,无法读取评论内容…
= = 悲剧…估计是流量超了
@Lotwen
可能,现在跳转到114了,囧。
想改一下,先试一下效果。
也测试下效果 最近也在一个傻瓜化的ajax评论插件- -
那个刷新的gif在哪?我想换```
@Mutnyy
默认用的是wp自带的gif图片,你要自定义可以修改那个js文件
每次需要找点东西的时候,google都会把我带到这
@迷笛
呃,干脆先来我这再google
我来测试下AJAX的效果
@歪歪
效果怎么样?不过我用的是自己另外修改过来的
我晕,你已经变得这么厉害了,我还在东奔西跑的日子中.
@solazy
你也消失够久的了。。。大家都在东奔西跑过日子,博客有心自然能腾出时间。。。
@zwwooooo
有事情要请教你,发邮件给你啦.
额、一定要在调一次jquery么?
@优趣
调用一次就够了,多次调用有些jQ代码会出错
膜拜了
smipleG那款主题的评论输出不怎么标准,有两个comment id查了半天才找出再编辑功能无效的原因。
@世纪之光
那就要针对主题修改了