适用于 WordPress3.5+ 的 Willin 版本 AJAX 评论提交

» 2013-03-06 WordPress 111条评论

本来不想新开文章写这个“泛滥”+“牛X”的 Willin 版本 Ajax 评论提交,但是又懒得去更新老文章(有点乱),而且由于网盘的杯具,以前上传的很多都不能下载了,总是有朋友说“求下载”,加上 Willin 退出折腾 WP 很久了,不会有后续版本的更新了,所以我抽空更新了一下,算是例行为博客除草。

只简单说说,具体详细的方法自己琢磨折腾吧,网上教程大把。

1. 前提

条件一:先确定自己所用主题的评论列表调用是否使用 WordPress 官方推荐的 wp_list_comment() 函数(一般在 comments.php)
条件二:如果“条件一”满足,那么看看 wp_list_comment() 有没有加回调函数参数(callback=ooxx),如果有请检查是否跟 WP 官方的回调函数示例类似,这里看 http://codex.wordpress.org/Function_Reference/wp_list_comments
条件三:看看评论框是否使用 comment_form() 函数生成,如果不是,请确保html结构差不多,特别是输入框的ID是否为 comment

2. 下载(zwwooooo 修改过的适用于 WordPress 3.5+ 的 willin AJAX 评论提交 1.3 版本)

130306-comments-ajax-1.3-zww-wp3.5.2.zip:百毒网盘

解压后得到大家非常熟悉的2个文件:comments-ajax.js、comments-ajax.php,然后放到所使用的主题目录下

3. 必要的修改

a)看看主题 header.php、footer.php 或者 functions.php 有没有这样的函数:

wp_enqueue_script( 'comment-reply' );

如果有,删除或者注释掉。(注:好像不去鸟也可以)

b)确定所用主题的 header.php 里面 </head> 前有 <php wp_head(); ?> 和 footer.php 里面 </body> 前有 <?php wp_footer(); ?>

c)直接在 functions.php 加上如下代码来加载 jQuery 库和 comments-ajax.js 文件

if (!is_admin()) {
	function zfunc_scripts_method() {
		wp_enqueue_script('jquery');
		if (is_singular()) {
			wp_enqueue_script('comments_ajax_js', (get_template_directory_uri()."/comments-ajax.js"), false, '1.3', true);
		}
	}
	add_action('wp_enqueue_scripts', 'zfunc_scripts_method');
}

(注:如果主题在其他地方加载了 jQuery 库,可以删除 wp_enqueue_script('jquery');)

ps:默认没开启评论“再编辑”功能,如有需要修改 comments-ajax.js 第 11 行

edit_mode = '0'

改为

edit_mode = '1'

完。继续等我的新鼠标……

zww
or
oooo

“适用于 WordPress3.5+ 的 Willin 版本 AJAX 评论提交”有111条评论

  1. migong says:

    :cry: 看了一遍好像还是很复杂的样子。不行啊。的折腾一会。

    1. zwwooooo says:

      @migong
      折腾多了就懂了

  2. 所以说。。旧的就不好用了?
    小白一下 :grin:

    1. zwwooooo says:

      @Weitian Zhao
      也不是吧,旧的1.3还是ok的,虽然一些函数更新,但是wp会兼容一段时间的

    2. JiaJieChan says:

      @Weitian Zhao
      恩旧的还是OK的,为了以后不折腾已经升级了牧风的functions版本

  3. 1Juncle博客 says:

    对于小白,理解困难了许多

  4. 阿邙 says:

    很是干脆的说,拿走。

  5. Forece says:

    这个和之前的版本有什么改进么?

    1. zwwooooo says:

      @Forece
      没啥改进,把老函数 》新函数

  6. Andrew says:

    使用成功,谢谢

    1. zwwooooo says:

      @Andrew
      祝你折腾快乐

  7. knalw says:

    你好,我在comments-ajax.js第22行由原来的cancel_edit = '取消编辑',改为cancel_edit = '取消编辑<img src="' + pic_no + '" style="vertical-align:middle;" alt=""/>',为什么在评论页面不能显示图片而是直接代码输出?

    1. zwwooooo says:

      @knalw
      因为' '里面是字符串……

    2. knalw says:

      @zwwooooo
      那如何能在取消编辑文字旁添加上一个图标?

    3. zwwooooo says:

      @knalw
      改下js,在js里面找到 cancel_edit 这个参数,添加一个class进去,然后用css设置这个class的背景就行了。

  8. 雨林亭 says:

    按照你的方法,我弄了好久,终于实现了AJAX提交,但是点击回复还是刷新页面,而且没有分页,不知道怎么搞.如果楼主有空可否帮我看看,demo就是我本次留言的Website

    1. zwwooooo says:

      @雨林亭
      如果“点击回复还是刷新页面”,说明你根本就没弄好,注意评论结构,很多主题都不是按文章写出的WP官方演示的评论结构。

    2. 雨林亭 says:

      @zwwooooo
      已经折腾了好几天,实在没有办法弄好..哎~!

    3. zwwooooo says:

      @雨林亭
      要么请人弄,要么自己再继续折腾下,一般主题的评论结构ok的话都行的

    4. zwwooooo says:

      @雨林亭
      哦,对了,注意你的jQuery库不要重复加载。

  9. 我想请问您一个问题 就是在设置标题时候不是在常规这里设置了 ,如果多设置几个词的时候 会显示在首页 ,我想要的结果是 在首页只显示一个网站名 , 不显示其它的几个词 这要怎么做呀

    1. zwwooooo says:

      @乐乐SEO博客
      你说的是啥啊,这是主题调用问题

  10. joerh99 says:

    果然是wordpress大牛啊,博客真漂亮,文章写的也很清晰,不像网上copy的教程...

    1. zwwooooo says:

      @joerh99
      完全copy就没意思了

  11. 条件都符合了,可是用上了一提交评论就在评论框下面提示404,咋回事呢?

    1. zwwooooo says:

      @常阳时光
      是不是缺少图片啊?新版是对应3.5

  12. xyixyixyi says:

    怎么每次都看见你说等鼠标哦,你用的鸟几个。奥···

    1. zwwooooo says:

      @xyixyixyi
      一个。你要看我为何又在等鼠标,所以请你忽略。

  13. 留个名,顺便请问下大大我的wordpress突然不能评论了,提交留言后,然后就没然后了。肿了么?

    1. zwwooooo says:

      @xilouqingzhu
      这个不清楚啊,检查下自己动了啥吧

  14. maie says:

    好洋气的样子,试试 :mrgreen:

  15. wordpress 3.6RC测试正常 :grin:

    1. zwwooooo says:

      @流浪天下
      霍霍,一般都ok啦

    2. 小鸡 says:

      @zwwooooo
      你好,测试一下

  16. 拿去用了~

  17. 大肥羊 says:

    大叔,用七牛云CDN后评论不了了,咋改呢? :mrgreen:

    1. zwwooooo says:

      @大肥羊
      啥?我没用过,不知道

  18. 设计窝 says:

    经测试,超赞!

  19. 碎碎念 says:

    虽然时间很久了,不过还是很经典的一篇技术文,赞一个

  20. 小幻 says:

    wp_enqueue_script( 'comment-reply' );

    这句不屏蔽虽然也能用,但是中间会跳转到奇怪的页面,还是屏蔽比较好。
    按照博主的方法改好了,谢谢!
    另,请问可否将你的这篇博客转到我网站去,我是个害怕丢失学习资源的人。。。

    1. zwwooooo says:

      @小幻
      可以转载的,但请保留一下原文链接,谢谢。

回复给 zwwooooo ¬
取消回复

昵称 *

网址

B em del U Link Code Quote