“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.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' );
然后就没有然后了……
zww
赏
oooo
or
- 本文标题:WP后台直接回复评论:支持二级无限嵌套评论、@方式、邮件通知
- 本文链接:https://zww.me/archives/25538
- 发布时间:2011年10月29日 21:20
- 版权声明:除非注明,文章均为 zwwooooo 原创,转载请以链接形式标明本文地址!
大侠啊 想问个问题 就是我的主机邮件服务器经常不能用 这样别人就收不到我给别人的回复 有没有什么办法啊? 比如自己用什么邮件服务器代替之类的??
@rockxsj
神马主机?虚拟主机还是vps?如果是虚拟主机你要咨询服务商,如果不提供支持可以尝试一些插件,具体名字我记不了,搜一下。
@rockxsj
http://dickwu.com/posts/2011/09/808.html哈哈每次都有我用武的地方
@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是测试邮箱~~~
@zwwooooo
插件测试了好多 都不行的 都是不能连接smtp服务器 用smtp应该不需要mail()函数支持的才对 之前用asp.net做一个项目 直接用的smtp实现的都可以 好奇怪啊
@yazi
主要问题是即使启用了WP-Mail-SMTP,也照样会出问题。。。因为很多插件默认还是使用的php mail()函数,所以要删掉WP-Mail-STMP里面的一串代码。。
还有gmail是不能用的我在文章里面已经说过了,所以我的范例写的是的QQ邮箱,一般用不需要SSL的邮箱。
@yazi
注释掉这一段
@Dick_Wu
我用的就是QQ邮箱 smtp.qq.com 端口号25 选择的是不用任何安全连接 那段代码也注释掉了 依然提示can not connect to stmp host 尼玛 都快疯了 各种没有道理啊
@zwwooooo
000webhost的免费主机 速度什么都能接受 邮件解决不了真烦人
@yazi
果断换服务器。
@yazi
免费的你就别要求了,呵呵
z大你难道在折腾你的VPS吗?为什么我现在访问zww.me慢到疯掉
@Dick_Wu
服务器不稳定,囧rz
@zwwooooo
原来是这样。。。。我还以为你在看U2B把。。
@Dick_Wu
木有办法,los太多国人吧,国人多的地方比较杯具
z大,的确有点慢了~~~服务器问题?
@郑永
对,明天再解决。
额 这个貌似都可以把
@软件风暴
。。。你没看清楚,我可不是说只是“后台回复”
这次全了,感觉插了个分页评论,要不真全了
@秦天SEO
自个玩的东东
马克~下次折腾,该有的都有了似乎~很不错呀~~~~
@小灰
懒人的东西。
速度很稳定啊 拖着在线视频 打开也无鸭梨啊!
不明真相
@心淡若水
你说啥呢?
学习下!
又要改源码,有插件版的就好了
@C瓜哥
这很简单吧。。。
就这么简单? 我是说我的沙发这么简单就没有了……
@有点蓝
对,沙发很容易没有
呵呵..zww很专业的说!!!!!!!
@小D
瞎搞玩玩而已
能在后台直接回复还能发送通知?这个厉害!
@huangjun
很方便
折腾真是件好事啊
@小王子
慢慢折腾
以前后台复评论一直都让人无法满意
@yywr
那就试试这个,霍霍
我的主题不支持吧。。
@蓝色离子
一般嵌套的应该可以,但我没测试。
有个问题请教下:.commentlist .children div.vcard img.avatar{left:-36px;top:14px;width:20px;height:20px;},设置后,发现头像由于left:-36px而无法显示,博主是怎么显示的?
@秦天SEO
看看你的是不是有overflow:hidden属性,有的话,超出父元素的就会隐藏。
后台表现出二级的形式?
@wmtimes
我可没这么说。
看起来不会斜斜的,比较齐整
@云刊
肯定不斜,这里说的又不是更改后台样式
貌似和我一样,好久没更新而来。
@郑永
忙,没啥写,然后就这样了
我的才真的不支持,,,悲催的我
@所以呢
可以改
@zwwooooo
就是不会改呢!~!~! 有一朋友是装一个回复插件,再加大代码;另外个朋友是直接修改的代码,再独立出来,,,哎
@所以呢
那就自己学学吧