对于使用WordPress默认评论框的同学来说,常常会遇到这样一个问题,就是当我们回复评论者消息的时候偶尔会搞不清楚到底是回复的谁,当然我们可以通过嵌套评论来区分不同的话题,但是当大家一块参与话题互相讨论的时候还是会分不清谁回复的谁,这时候我们就可以通过@评论者来告诉对方我是在和你交流了。网上关于此功能的实现方法很多,这里收集整理了两种亲测可用的方法推荐给大家。

将@信息写入数据库

//添加@评论者功能
function qgg_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' , 'qgg_comment_add_at', 20);

 

不将@信息写入数据库

//添加@评论者功能
function qgg_comment_add_at( $comment_text, $comment = '') {
  if( $comment->comment_parent > 0) {
    $comment_text = '@<a href="'.get_comment_author_url( $comment->comment_parent ) . '">'.get_comment_author( $comment->comment_parent ) . '</a> ' . $comment_text;
  }

  return $comment_text;
}
add_filter( 'comment_text' , 'qgg_comment_add_at', 20, 2);

目前我所使用的是第二种方法,因为个人觉得这个功能只是去标识下我们在和谁交流,避免因为搞错对象而引起的尴尬场面,没有必要写入数据库加重数据库的负担。当然对于有特殊需要的站长来说第一种方法也是很有必要的。