有网友留言,问这个@昵称回复如何实现的?如下图:
之前也看到很多博客有这样的功能,因为使用了嵌套评论,可以很容易分辨各评论的关系,所以没有使用此功能。
但是,在后台审核并回复评论的,之前有好几次因为没注意评论信息栏的:回复给***,还以为是给我的留言,所以给人家回复了一些莫名其妙的内容,闹出过不少笑话。
因为这个原因,前不久添加了这么功能,回复某位评论者的留言时,在留言前面加个 @评论者,这样可以更好地分辨是给谁回复。
在当前主题functions.php中添加以下代码:
// 评论添加@,by Ludou function ludou_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; } // www.jb200.com add_action( 'preprocess_comment' , 'ludou_comment_add_at', 20);
以上代码会直接将 @ 信息写入数据库。经bigfa提醒,如果你不想将 @评论者 写入数据库,可以使用下面的代码:
// 评论添加@,by Ludou function ludou_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' , 'ludou_comment_add_at', 20, 2);