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

秦兽兽 17天前 47 0 0 【】
首页 经验总结 Wordpress建站 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 + '" rel="external nofollow" >@' + 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.4(Update: 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' );

完全的结束...

本文转自https://zww.me/

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有。若您需要使用非免费的软件或服务,请购买正版授权并合法使用。本站发布的内容若侵犯到您的权益,请联系站长删除,我们将及时处理。
相关推荐