给WordPress评论回复添加@原评论者昵称,可以很明了的看到回复者想要交流的对象是谁,大大提高了用户体验,一段代码轻松搞定。
自建博以来已经快两年了,期间承蒙博友们的支持,最直观的就是博客文章评论数多了起来。有时候博友之间会有一些互动,互相回复,尽管我的主题开启了嵌套评论,有时候评论者到底回复给谁还不是那么直观。笔者参考其他站点给评论列表的新回复增加@原评论者昵称功能,可能很多主题都已经集成了,但是笔者还是想分享一下,万一有人需要呢?
参考了几个教程,最终摘录了 @露兜 的代码,在此表示感谢!
代码有两种,第一种启用后会将@评论者 写入数据库,也就是说数据库中每一条评论内容前面会有@评论者 字段,你在后台就能看到;第二种是不写入数据库的,即只在网站前台评论列表显示@评论者 ,而后台的评论内容是没有的。
代码一
// 评论添加@ function wp_comment_add_at( $commentdata ) { if( $commentdata['comment_parent'] > 0) { $commentdata['comment_content'] = '@<a href="#comment-' . $commentdata['comment_parent'] . '">'.get_comment_author( $commentdata['comment_parent'] ) . '</a> ': . $commentdata['comment_content']; } return $commentdata; } add_action( 'preprocess_comment' , 'wp_comment_add_at', 20);
代码二
// 评论添加@ function wp_comment_add_at( $comment_text, $comment = '') { if( $comment->comment_parent > 0) { $comment_text = '@<a href="#comment-' . $comment->comment_parent . '">'.get_comment_author( $comment->comment_parent ) . '</a>: ' . $comment_text; } return $comment_text; } add_filter( 'comment_text' , 'wp_comment_add_at', 20, 2);
使用方法:将代码一或者代码二直接放入function.php就可以了。
效果如下:
两段代码各有优势,代码一写入数据库,就算你更换了主题模板,曾经加过@评论者的评论也依然会显示;代码二更换主题模板后,就没有@评论者效果了;但是代码二不写入数据库,在一定程度上能够减轻数据库的压力,故笔者推荐代码二,大家根据自己情况进行选择。
@管家婆,我也觉得
得到大神指点,慢慢学会一些
什么时候的事了
这个功能如果有通知功能就更好了,可惜没发现怎么实现。
@橘子书: 像新浪微博那样的 @ 消息?好像有看到过,不过貌似这样非常不好~
@龙笑天: 我只是好奇原理。
确实很干货,需要的朋友有福啦。不过我个人喜欢清爽点的界面,目前暂不添加,什么时候想要加上时再添加上这个吧。
干货啊,好东东哦。
我用的也是他的方法二~ 不过又加了点料~
这个评论我觉着就不错
我直接使用知更鸟大神的代码,而且只在移动版出现,PC端就不出现
@boke112导航: 知更鸟真心牛逼 他的主题里能发觉到很多有用的功能,功底确实深厚啊
@飞鸟: 感谢分享,谢谢站长!!