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. ......
  5. rockxsj rockxsj Google Chrome 14 Google Chrome 14 Windows 7 Windows 7

    大侠啊 想问个问题 就是我的主机邮件服务器经常不能用 这样别人就收不到我给别人的回复 有没有什么办法啊? 比如自己用什么邮件服务器代替之类的??

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

      @rockxsj
      神马主机?虚拟主机还是vps?如果是虚拟主机你要咨询服务商,如果不提供支持可以尝试一些插件,具体名字我记不了,搜一下。

    • Dick_Wu Dick_Wu Google Chrome 17 Google Chrome 17 Windows XP Windows XP

      @rockxsj
      http://dickwu.com/posts/2011/09/808.html哈哈每次都有我用武的地方

    • yazi yazi Google Chrome 15 Google Chrome 15 GNU/Linux GNU/Linux

      @Dick_Wu
      The SMTP debugging output is shown below:

      SMTP -> ERROR: Failed to connect to server: Connection timed out (110)

      SMTP Error: Could not connect to SMTP host.

      好吧 当我看到你的回复的时候 心里一阵窃喜 蛋似配置完之后依然惯例上面错误提示~~ 主机不支持ssl连接 勾选了无安全理解 用的QQ邮箱 rockxsj@gmail.com是测试邮箱~~~

    • yazi yazi Google Chrome 15 Google Chrome 15 GNU/Linux GNU/Linux

      @zwwooooo
      插件测试了好多 都不行的 都是不能连接smtp服务器 用smtp应该不需要mail()函数支持的才对 之前用asp.net做一个项目 直接用的smtp实现的都可以 好奇怪啊

    • Dick_Wu Dick_Wu Google Chrome 17 Google Chrome 17 Windows XP Windows XP

      @yazi
      主要问题是即使启用了WP-Mail-SMTP,也照样会出问题。。。因为很多插件默认还是使用的php mail()函数,所以要删掉WP-Mail-STMP里面的一串代码。。
      还有gmail是不能用的我在文章里面已经说过了,所以我的范例写的是的QQ邮箱,一般用不需要SSL的邮箱。

    • Dick_Wu Dick_Wu Google Chrome 17 Google Chrome 17 Windows XP Windows XP

      @yazi

      // If the from email is not the default, return it unchanged
      	if ( $orig != $default_from ) {
      		return $orig;
      	}

      注释掉这一段

    • yazi yazi Google Chrome 15 Google Chrome 15 GNU/Linux GNU/Linux

      @Dick_Wu
      我用的就是QQ邮箱 smtp.qq.com 端口号25 选择的是不用任何安全连接 那段代码也注释掉了 依然提示can not connect to stmp host 尼玛 都快疯了 各种没有道理啊

    • yazi yazi Google Chrome 15 Google Chrome 15 GNU/Linux GNU/Linux

      @zwwooooo
      000webhost的免费主机 速度什么都能接受 邮件解决不了真烦人

    • zwwooooo zwwooooo Firefox 7 Firefox 7 Windows 7 Windows 7

      @yazi
      果断换服务器。

    • zwwooooo zwwooooo Firefox 7 Firefox 7 Windows 7 Windows 7

      @yazi
      免费的你就别要求了,呵呵

  6. Dick_Wu Dick_Wu Google Chrome 17 Google Chrome 17 Windows XP Windows XP

    z大你难道在折腾你的VPS吗?为什么我现在访问zww.me慢到疯掉 :arrow: :arrow:

    22楼
  7. 郑永 郑永 Firefox 3 Firefox 3 Windows XP Windows XP

    z大,的确有点慢了~~~服务器问题?

    23楼
  8. 软件风暴 软件风暴 Pale Moon 7 Pale Moon 7 Windows XP Windows XP

    额 这个貌似都可以把

    24楼
  9. 秦天SEO 秦天SEO Google Chrome 15 Google Chrome 15 Windows 7 Windows 7

    这次全了,感觉插了个分页评论,要不真全了

    25楼
  10. 小灰 小灰 Google Chrome 15 Google Chrome 15 Windows 7 Windows 7

    马克~下次折腾,该有的都有了似乎~很不错呀~~~~

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

    速度很稳定啊 拖着在线视频 打开也无鸭梨啊!
    不明真相

    27楼
  12. Q Music Q Music Google Chrome 14 Google Chrome 14 Windows 7 Windows 7

    学习下! :mrgreen:

    28楼
  13. C瓜哥 C瓜哥 Firefox 8 Firefox 8 Windows 7 Windows 7

    又要改源码,有插件版的就好了

    29楼
  14. 有点蓝 有点蓝 Opera 11 Opera 11 Windows XP Windows XP

    就这么简单? 我是说我的沙发这么简单就没有了……

    30楼
  15. 小D 小D Google Chrome 15 Google Chrome 15 Windows XP Windows XP

    呵呵..zww很专业的说!!!!!!!

    31楼
  16. huangjun huangjun Maxthon 2 Maxthon 2 Windows XP Windows XP

    能在后台直接回复还能发送通知?这个厉害!

    32楼
  17. 小王子 小王子 Google Chrome 14 Google Chrome 14 Windows 7 Windows 7

    折腾真是件好事啊

    33楼
  18. yywr yywr Firefox 7 Firefox 7 Windows 7 Windows 7

    以前后台复评论一直都让人无法满意

    34楼
  19. 蓝色离子 蓝色离子 Google Chrome 15 Google Chrome 15 Windows 7 Windows 7

    我的主题不支持吧。。

    35楼
  20. 秦天SEO 秦天SEO Google Chrome 15 Google Chrome 15 Windows 7 Windows 7

    有个问题请教下:.commentlist .children div.vcard img.avatar{left:-36px;top:14px;width:20px;height:20px;},设置后,发现头像由于left:-36px而无法显示,博主是怎么显示的?

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

      @秦天SEO
      看看你的是不是有overflow:hidden属性,有的话,超出父元素的就会隐藏。

  21. wmtimes wmtimes Google Chrome 11 Google Chrome 11 Windows 7 Windows 7

    后台表现出二级的形式?

    37楼
  22. 云刊 云刊 Firefox 7 Firefox 7 Windows 7 Windows 7

    看起来不会斜斜的,比较齐整

    38楼
  23. 郑永 郑永 Firefox 7 Firefox 7 Windows 7 Windows 7

    貌似和我一样,好久没更新而来。

    39楼
  24. 所以呢 所以呢 Firefox 7 Firefox 7 Windows 7 Windows 7

    我的才真的不支持,,,悲催的我

    40楼

Leave a Reply