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. 老杨 says:

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

    1. zwwooooo says:

      @老杨
      你被审核了 - -

    2. 老杨 says:

      @zwwooooo
      你的评论邮件提醒也差不多 在QQ企业邮箱的垃圾箱里 都是悲剧

    3. zwwooooo says:

      @老杨
      那是没有办法的,毕竟这个邮箱到处评论。

  2. A.shun says:

    沙发 :oops:

    1. derek says:

      @A.shun
      :evil: 太快了。。。。。

    2. Veezy says:

      @A.shun
      = = pia飞sf

    3. Dick_Wu says:

      @A.shun
      蹭沙发。。ZWWoOoOo大叔已经把他做这个主题的真传拿出来了。

    4. zwwooooo says:

      @A.shun
      原来你不是沙发,哈哈哈

    5. zwwooooo says:

      @Dick_Wu
      不是啊,这个是新折腾的。

  3. derek says:

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

    1. zwwooooo says:

      @derek
      原来你是地板了,沙发被审核了

  4. A.shun says:

    非常方便 +1 ,OM 威武

  5. Dick_Wu says:

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

    1. zwwooooo says:

      @Dick_Wu
      那个是老代码啦,我只是修改了css表现而已

    2. Dick_Wu says:

      @zwwooooo
      就是要css表现哈! :shock: :shock:

    3. Dick_Wu says:

      @zwwooooo
      好吧我就是觉得你顶部的JS巨漂亮,CSS也漂亮!

    4. zwwooooo says:

      @Dick_Wu
      好吧,有时间写写吧

  6. phoetry says:

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

    1. zwwooooo says:

      @phoetry
      你用哪个地址?feedburner很快的,即时。

    2. phoetry says:

      @zwwooooo
      就是feedburner, 晚了一个小说才收到=.=
      可能谷歌抽风

    3. zwwooooo says:

      @phoetry
      应该是谷歌抽风,我今晚的pidgin里的gtalk就掉了

    4. phoetry says:

      @zwwooooo
      谷歌抽风那反而就正常了哎, 少壮不努力, 一生在内地 :cry:

  7. 企鹅君 says:

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

    1. zwwooooo says:

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

  8. brushes8 says:

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

    1. zwwooooo says:

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

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

    1. zwwooooo says:

      @阅微博客
      我写的是针对2级无限嵌套的哦

  10. 老谢 says:

    看不懂,留名 闪人

    1. zwwooooo says:

      @老谢
      慢走,记得回来

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

    1. zwwooooo says:

      @心淡若水
      哈哈,懒人嘛。

    2. @zwwooooo
      这个是不是安装好之后 后台留言回复的才有效
      安装完这个之后 后台回复曾经的留言顺序是排在最新的 然后再评论这个留言 才嵌套了
      还是以前楼层没计数的问题?

    3. zwwooooo says:

      @心淡若水
      注意你的评论要有和我一样的“无限嵌套”功能,不然会乱套。

    4. @zwwooooo
      大C 追问个其他事
      如何设置搜索只搜文章标题 不要搜文章内容的?

    5. zwwooooo says:

      @心淡若水
      这个不会啊

  12. 寂静 says:

    :lol: 还是喜欢无限嵌套

    1. @寂静
      这个可以的! :mrgreen:

    2. 寂静 says:

      @zwwooooo
      已成功使用上 :wink: :lol:

  13. 万戈 says:

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

    1. zwwooooo says:

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

  14. axiu says:

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

  15. axiu says:

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

    1. zwwooooo says:

      @axiu
      你说的是@xxx的链接么?我已修正。

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

    1. zwwooooo says:

      @yesureadmin
      我等懒人之用

  17. Demon says:

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

    1. Demon says:

      @zwwooooo
      加上这个的话是不是所有页面都加载了这个JS呀。如果判断在后台页面加载这个JS呢。

    2. zwwooooo says:

      @Demon
      只有后台加载

    3. Demon says:

      @zwwooooo
      嗯看到了。最后那个句。 :mrgreen:

  18. 公子 says:

    收藏叻..z给力!

    1. zwwooooo says:

      @公子
      懒人给力啊

  19. 秦天SEO says:

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

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

回复给 helsinglee ¬
取消回复

昵称 *

网址

B em del U Link Code Quote