“WP后台直接回复评论:支持二级无限嵌套评论、@方式、邮件通知”是我上个星期就折腾好的功能,目前我和A.shun在用,非常方便。
我一直想要这功能,但一直木有高手去写,于是自己用蛋疼的 jQuery 实现……
前提:
【一定要】无限嵌套:完美的WordPress无限嵌套回复方法(其实不完美)
【可选】要支持评论回复通知,那么参考:整理: WordPress 评论回复邮件通知代码 ps:好吧,前一篇我卖关子了,其实就这里用用而已……
步骤:
开始以前再次提醒:你的主题一定要支持无限嵌套评论!!!
1. 把下面蛋疼的 jQuery 代码存为 admin_reply.js,放在所用主题目录。
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' );
然后就没有然后了……
via zww - http://zww.me/archives/25538
老头~ 不得行,我改了好多次,怎么都有BUG,两层回复后一直都是@的楼主,哎,我还原了~ 我说的前台无限嵌套,不是这个后台评论
@Sam.Z 你说用文中zww的方法有问题?是吧?有问题就对了。参考一下:https://cyhour.com/346/
@Sam.Z 其实就是把 $depth hook 到足够大,然后把第三层以上评论缩进干掉。
1、$depth hook
———–
2、评论输出去掉缩进
@老头 老头,收到,晚点折腾,今天想早点睡觉了,明天去公司试试~
老头, 搞定了~ 3Q
@Sam.Z 搞定就好。