Old

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

声明: 除非注明,ZWWoOoOo文章均为原创,转载请以链接形式标明本文地址
本文地址: http://zww.me/archives/25538

211 comments

  1. 老杨 老杨 Firefox 7 Firefox 7 Windows 7 Windows 7

    先评论了再说
    我那个主题 评论表情有问题 用不了 js问题 改天再找你看看

    沙发
  2. A.shun A.shun Opera Next 12 Opera Next 12 Windows XP Windows XP

    沙发 :oops:

    板凳
  3. derek derek Firefox 7 Firefox 7 Windows 7 Windows 7

    板凳。。。。。。shun太快了

    地板
  4. A.shun A.shun Opera Next 12 Opera Next 12 Windows XP Windows XP

    非常方便 +1 ,OM 威武

    4楼
  5. Dick_Wu Dick_Wu Google Chrome 17 Google Chrome 17 Windows XP Windows XP

    话说ZWWoOoOo大神,我很希望得到你头部载入条的真传~

    5楼
  6. phoetry phoetry Opera Next 12 Opera Next 12 Windows 7 Windows 7

    强烈抗议feed推送太慢以至于老是抢不到沙发 :mad:

    6楼
  7. 企鹅君 企鹅君 Maxthon 3 Maxthon 3 Windows 7 Windows 7

    这个代码没有考虑到控制台主页页面下的近期回复小部件吧?一周多前也有人问我如何后台@回复,开始写的时候也没考虑进去。

    7楼
    • zwwooooo zwwooooo Firefox 7 Firefox 7 Windows 7 Windows 7

      @企鹅君
      没考虑,这纯属很私人的东西,适合的拿去用用,不适合就自己再改改吧,交流用的。

  8. brushes8 brushes8 Maxthon 2 Maxthon 2 Windows XP Windows XP

    博客主题归置的很规整啊·····不过我感觉3层嵌套也用用足够了

    8楼
    • zwwooooo zwwooooo Firefox 7 Firefox 7 Windows 7 Windows 7

      @brushes8
      我这只有2级,2级以后还是可以发评论。原生的是:你限制了3层,那么第3层你无法回复了。

  9. 阅微博客 阅微博客 Google Chrome 15 Google Chrome 15 Windows 7 Windows 7

    以前都是有在后台回复,有在页面回复,直接导致套嵌乱套。 :evil:

    9楼
  10. 老谢 老谢 Google Chrome 14 Google Chrome 14 Windows 7 Windows 7

    看不懂,留名 闪人

    10楼
  11. 心淡若水 心淡若水 Google Chrome 10 Google Chrome 10 Windows 7 Windows 7

    木有最简单 只有更简单 真是pia一下 就完了
    好东西 多谢分享

    11楼
  12. 寂静 寂静 Google Chrome 14 Google Chrome 14 Windows XP Windows XP

    :lol: 还是喜欢无限嵌套

    12楼
  13. 万戈 万戈 Google Chrome 14 Google Chrome 14 Windows XP Windows XP

    大叔宝刀不老,越来越给力了 :mrgreen:

    13楼
    • zwwooooo zwwooooo Firefox 7 Firefox 7 Windows 7 Windows 7

      @万戈
      从来就没达到“宝刀”,所以没有老之说,哈哈哈

  14. axiu axiu Firefox 7 Firefox 7 Windows XP Windows XP

    太靠后了,拿拿代码 往往风景。

    14楼
  15. axiu axiu Firefox 7 Firefox 7 Windows XP Windows XP

    反馈个问题,有没有发现生成的链接是无效的?

    15楼
  16. yesureadmin yesureadmin Google Chrome 13 Google Chrome 13 Windows XP Windows XP

    这个加上在后台就要方便的多,研究下加上去

    16楼
  17. Demon Demon Internet Explorer 9 Internet Explorer 9 Windows 7 Windows 7

    :twisted: :twisted: :twisted: 这个太实用了。哈哈。。。收下折腾。

    17楼
  18. 公子 公子 ChromePlus 1 ChromePlus 1 Windows XP Windows XP

    收藏叻..z给力!

    18楼
  19. 秦天SEO 秦天SEO Firefox 4 Firefox 4 Windows XP Windows XP

    这下全了,哈哈,开搞,谢谢!

    19楼
  20. 闲来无事瞎扯蛋 闲来无事瞎扯蛋 Internet Explorer 9 Internet Explorer 9 Windows 7 Windows 7

    看评论这个貌似很给力,有空试下.....

    20楼

Leave a Reply