点击生成评论引用的jQuery代码

题外话:这几天一直在折腾Ajax评论提交,走了一个大圈还是回到了原点:willin的Ajax评论提交方式。不过算是了解了,可以自己升级修改了,精简了一些不必要的功能加快评论速度,再改改一些效果……麻烦大家继续测试ing

好,进入正题:这篇文章所说的内容其实对于熟悉jQuery的朋友来说非常简单,但因为有人要,就贴出来,顺便解决一下即将来临的文囧。

前提

1. 挂 jQuery 库,如果没有挂就把下面的js调用扔到 header.php 里面的 <?php wp_head() ?> 前面

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

2. 使用标准的评论结构,参考 WordPress 官方 http://codex.wordpress.org/Function_Reference/wp_list_comments 的 Examples 部分

准备

在functions.php找到主题的回调函数,找到类似下面的

<div class="reply">
	<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>

复制一份稍微修改一下,变成如下

<div class="reply">
	<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
<div class="quote">
	<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>

注:你可能还需要修改 quote 显示样式css,最简单的就是在 .reply 上加上一个 .quote,自个折腾

jQuery代码:(把下面的添加到你的js文件或者直接加到footer.php的<?php wp_foot() ?>后面,用<script type="text/javascript"></script>引用)

2010.8.28 Edit)漏一句jQ代码,为复制的reply按钮文字换为“quote”

//评论引用 by zwwooooo
jQuery(".quote a").text("quote");//替换复制的reply按钮文字为quote
jQuery('.quote').click(function() {
	var atname = jQuery(this).parent().find('cite:first').text();//获得作者名称
	var quotecontent = jQuery(this).parent().find('.comment-content:first').html();//获得评论内容
	jQuery("#comment").attr("value","<blockquote><strong>" + atname + ": </strong>" + quotecontent + "</blockquote>\n").focus();//组合成引用
});

如果你要带@xxx的就如下:

//评论引用 by zwwooooo
jQuery(".quote a").text("quote");//替换复制的reply按钮文字为quote
jQuery('.quote').click(function() {
	var atid = '"#' + jQuery(this).parent().attr("id") + '"';//获取评论ID
	var atname = jQuery(this).parent().find('cite:first').text();//获得作者名称
	var quotecontent = jQuery(this).parent().find('.comment-content:first').html();//获得评论内容
	jQuery("#comment").attr("value","<a href=" + atid + ">@" + atname + " </a>\n" + "<blockquote><strong>" + atname + ": </strong>" + quotecontent + "</blockquote>\n").focus();//组合成引用
});

有些主题比较特殊,也就是说自定义了评论结构,那么就要根据自个主题修改 jQ 选择器了,不懂可以翻翻 jQuery 手册。

就这样,有兴趣的慢慢折腾。

zww
or
oooo

“点击生成评论引用的jQuery代码”有143条评论

  1. 研究个后台添加 @ 的吧。前后台得一致啊。

    1. zwwooooo says:

      @❤•终于° 我不会啊,叫高人研究也说麻烦,慢慢等,总是会有人折腾出来的

    2. @zwwooooo 你的人气好旺。。。

    3. zwwooooo says:

      @❤•终于° 不旺吧,都是些朋友撑着

    4. @zwwooooo 一会儿就那么多回复了,哈~

    5. zwwooooo says:

      @❤•终于° 折腾的人多,对这题目敏感 :mrgreen:

  2. Max Lee says:

    等评论多了再去加上 :grin:

    1. zwwooooo says:

      @Max Lee 的确是,评论少得话根本用不到引用

  3. Alan says:

    应该不用选择器 :first。

    1. zwwooooo says:

      @Alan 嗯,习惯性地加上,而且我不太懂jQ

  4. 秋上书 says:

    让俺直接用还行 原理看不懂 代码不明呀!

    1. zwwooooo says:

      @秋上书 那就直接用,呵呵

  5. 爱月 says:

    路过的,不看代码
    恩恩
    (郁闷的远离了挨踢界。。。)

    1. zwwooooo says:

      @爱月 为啥要离开挨踢界?

  6. 苏扬 says:

    老佛爷 天方夜谭 小苏苏怎么看不明白也?

  7. Thinkqob says:

    看不懂 瓦咔咔

    1. zwwooooo says:

      @Thinkqob 很简单的,哇咔咔

  8. JQ好像很火效果确实很炫

    1. zwwooooo says:

      @软件盒子 很少代码就能做出很多效果

  9. 丕子 says:

    想了半天不知道说什么 除了感觉jq好用

    1. zwwooooo says:

      @丕子 保持沉默,不要逼着自己说话

  10. 益酷网 says:

    看不懂代码只能先在你这里实践一下了。

    1. zwwooooo says:

      @益酷网 呵呵,我这很早就有了

  11. QiQiBoY says:

    在你这里如果我想要引用一个人的评论就必须是对他进行回复,那这两条评论就在一块儿了,还引用干啥。。直接就能相互看到啊。。
    而且我点击引用a,再去点击引用B,结果评论框会清空对a的引用。。。 :arrow:

    1. zwwooooo says:

      @QiQiBoY 第二层的讨论有时需要,但很少,清空是特意的,单个引用都基本没人用,2个的就基本不会有,玩下而已,一般用不到

  12. Bee君 says:

    这个可以在WordPress3的默认主题改造里试试

    1. zwwooooo says:

      @Bee君 应该可以

  13. 立青 says:

    评论引用?没有用过,回去试试折腾,先备份

    1. zwwooooo says:

      @立青 慢慢折腾

  14. yetone says:

    引用,我觉得暂时还没必要用这个东东

    1. zwwooooo says:

      @yetone 需要者才加

  15. 赵福安 says:

    :???: 天书...

    1. zwwooooo says:

      @赵福安 不会啊,这些是很浅显的

  16. 郑永 says:

    很好,另外,很喜欢这个主题,呵呵:)

    1. zwwooooo says:

      @郑永 我也喜欢这个主题,呵呵

  17. Firm says:

    有时会用得到,如果是读书类的博客这个功能应该会很喜欢

    1. zwwooooo says:

      @Firm 嗯,偶尔,还是加上,反正jq库都已经挂上无所谓了

  18. zwwooooo says:

    @大智若鲁 下次扔spam列表

  19. 如水 says:

    博主也太专业了,深入折腾啊。

    1. zwwooooo says:

      @如水 没,这些是jQ的简单应用,太深入不行

  20. huangjun says:

    我刚折腾出一个牙博士博客,呵呵~

    1. zwwooooo says:

      @huangjun 精力旺盛啊,我一个博客就文囧

发表评论

昵称 *

网址

B em del U Link Code Quote