WordPress回复评论自动添加@评论者

日期: 标签:WordPress教程
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我

有网友留言,问我这个@昵称回复如何实现的?如下图:

WordPress回复评论添加@评论者

其实之前我也看到很多博客有这样的功能,但是一直不太喜欢,因为露兜博客使用了嵌套评论,可以很容易分辨各评论的关系,所以没有使用此功能。但是我是在后台审核并回复评论的,之前有好几次因为没注意评论信息栏的:回复给***,还以为是给我的留言,所以给人家回复了一些莫名其妙的内容,闹出过不少笑话。因为这个原因,前不久我给露兜博客添加了这么功能,回复某位评论者的留言时,在留言前面加个 @评论者,这样可以更好地分辨是给谁回复。也许网上已经有相关的教程,但是这里也分享一下我的实现方法,在当前主题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;
}
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);

-- 完 --

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/wordpress-comment-reply-add-at.html
露兜
kaapass@outlook.com  QQ 825533758

业余编程爱好者。

81 条留言

点此留言
1 2 659
  1. 短网址 短网址

    博主,你好。请问,有那种wp博客自动留言的工具吗?

  2. 吸chenqi

    @短网址 好喜欢啊 啊啊

  3. 拽立网 拽立网

    @吸chenqi 我也喜欢你

  4. 帅气小琦琦 帅气小琦琦

    请问写入了数据库的字段怎么删除呢

  5. 千千 千千

    @帅气小琦琦 用 python 查询替换掉

  6. 哈哈哈 哈哈哈

    受用了,正在使用这个

  7. fastemail

    博主博客做的比较独特,对技术也有一定研究。同好中人。
    这里想请教一个问题:
    如果在后台文章内容下面添加一个评论框,放作者自己的评论在里面。(不是留言)。然后在前台文章下显示出来?相当于每次作者在后台可以自抢沙发,这个功能请问如何实现呢?

  8. 露兜

    @fastemail 参考:https://www.ludou.org/creating-custom-write-panels-in-wordpress.html

  9. fastemail

    对,这样网友也是不可回复的,是一个专门的作者自评栏目。当然你也可以在文章下自己添加,但还是想实现这个功能,今后调用的时候,也可以直接调用这个评论,不必全文调用。

  10. fastemail

    可能确实不太实用,所以找了很多地方没有,我这里不是讨论实用与否,我只是想请教一下技术实现的途径。非常感谢。

  11. 阳光虫草 阳光虫草

    现在新版的还起作用吗

  12. 露兜

    @阳光虫草 自己加进去试试不就知道了?

  13. ACG里番社 ACG里番社

    请问一下,如果要修改评论框里的回复二字怎么改呢,我在系统语言包里没找到…

  14. 露兜

    @ACG里番社 这个在主题的comments.php或functions.php中修改

  15. ACG里番社 ACG里番社

    以上提到的两个文件都没有,真的很奇怪。

  16. jason

    你好
    能不能让评论只保持嵌套2层? 嵌套太多层不好看啊?

  17. 露兜

    @jason 后台 – 设置 – 讨论中可以设置

  18. 木先森 木先森

    用上了,有效果。不过要开启评论嵌套,才显示 回复 按钮,否则不显示 回复 按钮。这个怎么破?露兜

  19. 露兜

    @木先森 那是你主题的原因了。换默认主题就知道了。

  20. 先儿姐姐

    很好,我测试过了,很不错!

  21. Yiven Yiven

    提交回复的时候出现Notice: Trying to get property of non-object,ludou知道是什么原因吗

  22. 22

    @露兜 手动@ 可以吗

1 2

发表留言