2011年10月29日 211条评论

WP后台直接回复评论:支持二级无限嵌套评论、@方式、邮件通知

“WP后台直接回复评论:支持二级无限嵌套评论、@方式、邮件通知”是我上个星期就折腾好的功能,目前我和A.shun在用,非常方便。

我一直想要这功能,但一直木有高手去写,于是自己用蛋疼的 jQuery 实现……

前提

【一定要】无限嵌套:完美的WordPress无限嵌套回复方法

【可选】要支持评论回复通知,那么参考:整理: WordPress 评论回复邮件通知代码
ps:好吧,前一篇我卖关子了,其实就这里用用而已……

步骤

开始以前再次提醒:你的主题一定要支持无限嵌套评论!!!

1. 把下面蛋疼的 jQuery 代码存为 admin_reply.js,放在所用主题目录。或者直接点这里下载

WordPress 版本 >= 4.4(2017.03.08 Update

(function ($, window) {
	$(document).ready(function(){
		//////// for WordPress >= 4.4 ////////
		if ( $('#replycontent').length ){
			var $replycontent = $('#replycontent');
			$replycontent.attr('onkeydown','if(event.ctrlKey){if(event.keyCode==13){document.getElementById(\'replybtn\').click();return false}};');
			$('#the-comment-list').on('click', '.vim-r', function(){
				$replycontent.off('focus');
				$('#replybtn').off('click')
				var $thiscomment = $(this).parent().parent().parent().parent(),
						haveParent = $thiscomment.find('td.comment .comment-author').next().is('a') ? 1 : '',
						parentID = haveParent == 1 ? $thiscomment.find('td.comment .comment-author').next().attr('href').split('#')[1].split('-')[1] : '',
						$submitted_on = $thiscomment.find('.submitted-on'),
						atid = '#' + $submitted_on.children('a:first').attr('href').split('#')[1],
						atname = $thiscomment.find('td.author').find('strong').text().replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, ''),
						replyto = '<a href="' + atid + '">@' + atname + '</a>' + " ";
				$replycontent.val('').focus().attr('data-replyto',replyto).attr('data-parent-id',parentID);
				$('#replybtn').on('click', function(){
					$replycontent.val($replycontent.attr('data-replyto') + $replycontent.val());
					$replycontent.attr('data-replyto','').attr('data-parent-id','');
					$('#replybtn').off('click');
				});
				$('#replysubmit .cancel').on('click', function(){
					$replycontent.off('focus');
					$('#replybtn').off('click');
				});
			});
		};
	});
})(jQuery, window);

WordPress 版本 < 4.4Update: 2011.10.30 修正 @xxx 的链接——感谢axiu同志反馈)

jQuery(document).ready(function($){ //WP后台直接回复评论:支持二级无限嵌套评论、@方式、邮件通知 by zwwooooo
     $('.vim-r').click(function(){
         var $submitted_on=$(this).parent().parent().parent().children('.submitted-on');
         if ($submitted_on.children('a').length == 2) {
             var parentID=$submitted_on.find('a:last').attr('href').split('#')[1];
             $('#replyrow').find('#comment_ID').attr('value',parentID);
         }
         var atid = '"#' + $submitted_on.children('a:first').attr('href').split('#')[1].split('-')[1] + '"';
         var atname = $submitted_on.parent().prev('td.author').find('strong').text().replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, '');
         $("#replycontent").attr('value','<a href=' + atid + '>@' + atname + ' </a>\n').focus();
         $("#replycontent").attr('onkeydown','if(event.ctrlKey){if(event.keyCode==13){document.getElementById(\'replybtn\').click();return false}};');
         $('#replybtn').click(function(){
             $("#replycontent").attr('onkeydown','');
         })
     })
 });

2. 然后把下面这段加入到主题的 functions.php 里面去:

function admin_reply_admin_enqueue_scripts( $hook_suffix ) {
    wp_enqueue_script( 'admin-reply-js', get_template_directory_uri() . '/admin_reply.js', false, 'by-zwwooooo' );
}
add_action( 'admin_print_styles', 'admin_reply_admin_enqueue_scripts' );

然后就没有然后了……

zww
or
oooo

“WP后台直接回复评论:支持二级无限嵌套评论、@方式、邮件通知”有211条评论

  1. love02xp says:

    唉,看到代码已经有点害怕了,
    改坏了回不来呀:(

    1. zwwooooo says:

      @love02xp
      怕就别折腾吧,反正不是必须的。

  2. Kayo says:

    之前也想弄一个这样的功能,每次都要去文章回复才有“@”回复的功能,实在不方便,现在好了,果断收下代码!

    1. zwwooooo says:

      @Kayo
      的确很方便

  3. wugee says:

    关注一个咯 :idea:

  4. 王朋雨博客 says:

    停一下,看看,文章不错

  5. Veezy says:

    留言多必备~ :grin:

    1. zwwooooo says:

      @Veezy
      懒人必备,哈

  6. 郑永 says:

    貌似你PR又上了。。

    1. zwwooooo says:

      @郑永
      木有,还是pr6,pr7可不是那么容易的,不指望

  7. Bee君 says:

    刚刚使用上,刚开始还以为一进后台那个小。。。原来是后台评论页~~

    感谢~

    1. zwwooooo says:

      @Bee君
      哈,后台所有评论那里

  8. Dick_Wu says:

    一整个上午都进不了zww.me。。是神马情况?

    1. zwwooooo says:

      @Dick_Wu
      不会吧,我没收到网站不能访问报告,你什么线路的?

    2. Dick_Wu says:

      @zwwooooo
      看来是DNS污染。。。换成8.8.8.8就没问题了。
      我是无锡电信~最近经常这样

    3. zwwooooo says:

      @Dick_Wu
      囧rz,到处都是弓虽女干

  9. 权子 says:

    嗯哼,不错,研究下。

  10. Firm says:

    我博客那个嵌套回复实在是丑陋

    1. zwwooooo says:

      @Firm
      神马看多了就会厌倦了,哈。

  11. 如果不加这个,默认的评论回复,会不会有邮件通知?

    1. zwwooooo says:

      @皇家元林
      你指不加神马?

    2. @zwwooooo
      就你这段js代码?

    3. @皇家元林
      还有你这个评论的显示时间不对吧?现在都22点30分了

    4. zwwooooo says:

      @皇家元林
      可能是服务器我没调好

    5. zwwooooo says:

      @皇家元林
      调整了,试试

    6. zwwooooo says:

      @皇家元林
      应该可以,但是我没测试超过你的嵌套限制的表现,原理上是可以的。

    7. @zwwooooo
      嗯,我试试。。
      很少在后台回复别人,就怕没邮件通知!

    8. @zwwooooo
      嗯,时间O了

    9. 。潇 says:

      @zwwooooo
      为什么这个评论,只有两级?我的评论相嵌了很多级、、你这个只有depth-2……好舒服,怎么弄的啊?

    10. zwwooooo says:

      @。潇
      文章里面有链接我自己的“二级无限嵌套”实现方法。

  12. WP高手,想请教你一个问题,就是我想在博客上弄一个“热门关键词”,就是放在搜索栏旁边,告诉访客大家都子啊搜索什么??

    1. zwwooooo says:

      @古墓候梅
      这个不知道如何实现,通常博客的热门关键词使用标签代替的。

  13. 我去折腾下 看看效果

  14. Wordpress如何实现后台直接回复评论且能邮件通知 | 梦想象牙塔 says:

    [...] 如果你还要更多的功能,原文地址: http://zww.me/archives/25538 [...]

  15. 集趣 says:

    这个可以用的哦~ 使用起来也很方便

    1. zwwooooo says:

      @集趣
      对啊,懒人用的

  16. 晓潘 says:

    现在我们都升级了,用外部网站评论啦 来管理评论 :mrgreen:

    1. zwwooooo says:

      @晓潘
      不喜欢,个人喜好

  17. 无冷 says:

    这个功能好强大

    1. zwwooooo says:

      @无冷
      懒人用的,哈

  18. 。潇 says:

    谢谢,我知道了,可是我用的系统自带的……评论模板、

  19. 洋洋 says:

    好像很慢。。我的用慢。不知道怎么回事。。

    1. zwwooooo says:

      @洋洋
      主机问题

    2. 洋洋 says:

      @zwwooooo 应该是主机的问题。。我都很少在后台回复了。

    3. zwwooooo says:

      @洋洋
      嗯,主机性能不够WP后台会比较慢

    4. 洋洋 says:

      @zwwooooo
      我不知道后台回复。邮件通知对方不?

    5. zwwooooo says:

      @洋洋
      自己用另外一个邮箱可以测试啊

    6. 洋洋 says:

      @zwwooooo
      麻烦啊。之前收不到邮件我就测试了很多次。,后来把发件人邮件改了才收得到。。

    7. zwwooooo says:

      @洋洋
      这只是实现方法,邮件发送需要主机环境支持

    8. 洋洋 says:

      @zwwooooo
      默认的邮箱gmail直接给拦截了。。

    9. zwwooooo says:

      @洋洋
      木有办法,这是Gmail的防垃圾问题

  20. Neeke says:

    码代码是很辛苦的。

    1. zwwooooo says:

      @Neeke
      也可以很快乐

回复给 Dick_Wu ¬
取消回复

昵称 *

网址

B em del U Link Code Quote