1. David Wu首页
  2. WordPress
  3. WordPress安装教程

WordPress根据评论数量判断是否显示评论者链接

wordpress 根据评论数量来判断是否显示评论者链接,对于一些广告用户还是有一定的作用的,毕竟有些时候,我们精力有限,不可能随时关注站点的垃圾评论等等。本文分享你可以根据评论数来控制是否显示留言者的链接。比如说只有当评论者的评论数大于一万的时候才显示链接,如果小于一万则不显示。当然,一万只是说说而已。这里评论数肯定要根据邮箱来统计了,于是最基本的思路就是根据邮箱来获取评论数,然后再根据评论数获取邮件链接,虽然能达到效果,但是非常不科学,这样每条评论都会去查询一次,非常耗费性能,对于个人博客来说可能影响不是很大,但是有更好的解决方案那最好就不使用这个方法了。

我的思路是把判断过程放在发布评论的时候,然后设置一个白名单,如果评论数大于指定数值,则把这个邮箱加入到白名单中。然后根据这个白名单来控制是否显示评论者的链接。这样就做到了性能最优。 将以下代码加入 functions.php 中即可:

  1. /**
  2.  * WordPress 根据评论数量来判断是否显示评论者链接 - 龙笑天下
  3.  * https://www.ilxtx.com/display-or-hide-comment-links-according-to-comments-number.HTML
  4.  * 原作者:https://fatesinger.com/78892
  5.  */
  6. function lxtx_fa_is_friend( $email = null , $num = 5 ){
  7.     $count = get_comments(array(
  8.         'author_email' => $email,
  9.         'count' => true,
  10.     ));
  11.     return ( $count > $num );
  12. }
  13. 
    
  14. function lxtx_fa_update_friend_list( $comment_id ){
  15.     $comment = get_comment($comment_id);
  16.     $friend_list = get_option('friend_list') ? get_option('friend_list') : array();
  17.     $email = $comment->comment_author_email;
  18.     if ( lxtx_fa_is_friend($email) && !in_array( $email , $friend_list) ) {
  19.         $friend_list[] = $email;
  20.         update_option('friend_list',$friend_list);
  21.     }
  22. }
  23. add_action('comment_post', 'lxtx_fa_update_friend_list');
  24. 
    
  25. function lxtx_fa_show_friend_link( $return , $author, $comment_ID ){
  26.     $comment = get_comment( $comment_ID );
  27.     $email = $comment->comment_author_email;
  28.     $friend_list = get_option('friend_list') ? get_option('friend_list') : array();
  29.     if ( in_array($email,$friend_list) ) {
  30.         return $return;
  31.     } else {
  32.         return $author;
  33.     }
  34. }
  35. add_filter('get_comment_author_link','lxtx_fa_show_friend_link',10,3);

lxtx_fa_is_friend 这个函数第二个变量 num 就是控制显示的数量,根据你的需要酌情处理。整个代码都是基于 the_author_link()来输出评论者昵称的,那么不是通过这个方法输出的主题,像九哥的主题,就只能自行修改了,毕竟也不是一个麻烦的事情,只需要在你自己的输出中加上相关判断就可以了,也就是说在你自己的输出评论者地址前面加上一个判断,判断这个评论者的 email 是不是在 friend_list 中即可。简而言之,就是将第代码转接到你的代码中去即可。如果添加了此代码,则之前所有的评论都是将不显示评论链接,只有当访客发表新的评论后,若评论数量达标则以前所有的评论都会显示链接!

方法拓展:

相信很多博客网站都启用了通过评论数来确定游客等级的功能,其实上面的功能也可以通过游客等级这个思路来实现,具体的实现方法小伙伴们自己折腾吧,具体的实现方法就不赘述了。

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/97120

服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

邮箱地址不会被公开。 必填项已用*标注