龙笑天龙笑天  2016-11-13 17:41 龙笑天下 隐藏边栏 |   20 条评论  601 
文章评分 78 次,平均分 4.9

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

本文主要讲的是你可以根据评论数来控制是否显示留言者的链接。比如说只有当评论者的评论数大于一万的时候才显示链接,如果小于一万则不显示。当然,一万只是说说而已。

这里评论数肯定要根据邮箱来统计了,于是最基本的思路就是根据邮箱来获取评论数,然后再根据评论数获取邮件链接,虽然能达到效果,但是非常不科学,这样每条评论都会去查询一次,非常耗费性能,对于个人博客来说可能影响不是很大,但是有更好的解决方案那最好就不使用这个方法了。

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

将以下代码加入 functions.php 中即可:

/**
 * WordPress 根据评论数量来判断是否显示评论者链接 - 龙笑天下
 * https://www.ilxtx.com/display-or-hide-comment-links-according-to-comments-number.html
 * 原作者:https://fatesinger.com/78892
 */
function lxtx_fa_is_friend( $email = null , $num = 5 ){
    $count = get_comments(array(
        'author_email' => $email,
        'count' => true,
    ));
    return ( $count > $num );
}

function lxtx_fa_update_friend_list( $comment_id ){
    $comment = get_comment($comment_id);
    $friend_list = get_option('friend_list') ? get_option('friend_list') : array();
    $email = $comment->comment_author_email;
    if ( lxtx_fa_is_friend($email) && !in_array( $email , $friend_list) ) {
        $friend_list[] = $email;
        update_option('friend_list',$friend_list);
    }
}
add_action('comment_post', 'lxtx_fa_update_friend_list');

function lxtx_fa_show_friend_link( $return , $author, $comment_ID ){
    $comment = get_comment( $comment_ID );
    $email = $comment->comment_author_email;
    $friend_list = get_option('friend_list') ? get_option('friend_list') : array();
    if ( in_array($email,$friend_list) ) {
        return $return;
    } else {
        return $author;
    }
}
add_filter('get_comment_author_link','lxtx_fa_show_friend_link',10,3);

lxtx_fa_is_friend这个函数第二个变量num 就是控制显示的数量,根据你的需要酌情处理。

注意本方法仅适合使用the_author_link()来输出评论者昵称的主题,一般来讲,标准主题都会使用这个函数。如果你使用了自定义拼接的 html 只需要再加个邮箱是否在白名单的判断即可。

注:如果添加了此代码,则之前所有的评论都是将不显示评论链接,只有当访客发表新的评论后,若评论数量达标则以前所有的评论都会显示链接!

友情提示:本站已启用此功能,达到“评论达人 1”即可显示链接哦!大家赶紧来留言解锁自己的链接吧~ 嘿嘿嘿

方法拓展:

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

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

龙笑天
龙笑天 关注:32    粉丝:36 最后编辑于:2017-04-23
互助分享,互联网本该如此!

发表评论

表情 贴图 链接 私密 格式 签到
最赞评论
  1. 橘子书
    橘子书 评论达人 LV.3 来自天朝的朋友 QQ浏览器 Windows 10 福建省漳州市 电信

    [得意] 坚决不解锁,哼哈

  2. 龙笑天
    龙笑天 永久会员 博主 来自天朝的朋友 火狐浏览器 Windows 7

    @boke112导航解锁后链接形式和没有启用此功能前的一样哦,具体的可以审查元素看看哟~
    这个隐藏链接地址的功能对常来互动的老用户来说是没有任何影响的,基本都能达到显示链接的要求哦~

  3. boke112导航
    boke112导航 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 45.0.2454.101 Windows XP 广西南宁市 电信

    解锁之后是显示带有 nofollow 的链接地址,或跳转地址,或直链地址?如果是前面这样的,感觉没必要隐藏链接地址吧?

  1. 九哥
    九哥 来自天朝的朋友 谷歌浏览器 55.0.2883.87 Windows 7 四川省内江市 电信

    我的应该还不显示,看来得多来了。

    8楼 2017-10-25 09:47
    0 0 回复
  2. 闲鱼
    闲鱼 评论达人 LV.1 来自天朝的朋友 谷歌浏览器 53.0.2785.116 Windows 7 湖南省长沙市 电信

    [偷笑] 我会努力混到能解锁的

    7楼 2016-11-16 17:57
    0 0 回复
  3. 泛宝汇博客
    泛宝汇博客 来自天朝的朋友 谷歌浏览器 42.0.2311.154 Windows XP 广东省广州市番禺区 电信

    技术牛,哈哈

    6楼 2016-11-15 16:51
    1 0 回复
  4. Koolight
    Koolight 评论达人 LV.3 来自天朝的朋友 Safari浏览器 534.30  Android 4.4.2 PE-CL00 Build/HuaweiPE-CL00 湖北省武汉市 电信

    我这两天文章都发表不了,卡成翔了!垃圾主机真让人气愤啊!

    5楼 2016-11-15 14:50
    0 0 回复
  5. boke112导航
    boke112导航 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 45.0.2454.101 Windows XP 广西南宁市 电信

    解锁之后是显示带有 nofollow 的链接地址,或跳转地址,或直链地址?如果是前面这样的,感觉没必要隐藏链接地址吧?

    4楼 2016-11-14 13:09
    2 0 回复
  6. 橘子书
    橘子书 评论达人 LV.3 来自天朝的朋友 QQ浏览器 Windows 10 福建省漳州市 电信

    [得意] 坚决不解锁,哼哈

    地板 2016-11-14 09:30
    6 0 回复
  7. 小萝博客
    小萝博客 评论达人 LV.2 来自天朝的朋友 谷歌浏览器 53.0.2785.143 Windows 7 广东省珠海市 电信

    我的垃圾评论少了,就是太受欢迎了

    板凳 2016-11-13 22:34
    1 0 回复
  8. 青檬网
    青檬网 来自天朝的朋友 手机QQ 6.5.8.2910  m2 note Build/LMY47D) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8 TBS/036879 Safari/537.36 V1_AND_SQ_6.5.8_422_YYB_D QQ/6.5.8.2910 NetType/WIFI WebP/0.3.0 Pixel/1080 陕西省西安市 电信

    你的主题免费开放不

    沙发 2016-11-13 18:16
    0 0 回复
扫一扫二维码分享