本文主要讲的是你可以根据评论数来控制是否显示留言者的链接。比如说只有当评论者的评论数大于一万的时候才显示链接,如果小于一万则不显示。当然,一万只是说说而已。
这里评论数肯定要根据邮箱来统计了,于是最基本的思路就是根据邮箱来获取评论数,然后再根据评论数获取邮件链接,虽然能达到效果,但是非常不科学,这样每条评论都会去查询一次,非常耗费性能,对于个人博客来说可能影响不是很大,但是有更好的解决方案那最好就不使用这个方法了。
我的思路是把判断过程放在发布评论的时候,然后设置一个白名单,如果评论数大于指定数值,则把这个邮箱加入到白名单中。然后根据这个白名单来控制是否显示评论者的链接。这样就做到了性能最优。
将以下代码加入 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”即可显示链接哦!大家赶紧来留言解锁自己的链接吧~ 嘿嘿嘿
方法拓展:
相信很多博客网站都启用了通过评论数来确定游客等级的功能,其实上面的功能也可以通过游客等级这个思路来实现,具体的实现方法就不赘述了~~
还没有人赞赏,快来当第一个赞赏的人吧!
本文为原创文章,版权归龙笑天下所有,欢迎分享本文,转载请保留出处!
我的应该还不显示,看来得多来了。
@九哥
欢迎常来~
@闲鱼路漫漫其修远兮~
技术牛,哈哈
@泛宝汇博客请叫我搬运工![[憨笑] [憨笑]](https://www.ilxtx.com/wp-content/themes/lxtx/assets/images/smilies/hanx.gif)
我这两天文章都发表不了,卡成翔了!垃圾主机真让人气愤啊!
@Koolight
什么主机?怎么会卡的发不了文章呢...
解锁之后是显示带有 nofollow 的链接地址,或跳转地址,或直链地址?如果是前面这样的,感觉没必要隐藏链接地址吧?
@boke112导航解锁后链接形式和没有启用此功能前的一样哦,具体的可以审查元素看看哟~
这个隐藏链接地址的功能对常来互动的老用户来说是没有任何影响的,基本都能达到显示链接的要求哦~
@龙笑天这个确实鼓励大家经常交流,如果只是来留外链的就需要付出更多时间才行了
@boke112导航
要的就是这个效果~~
PS:突然发现你这个评论的邮箱换了...我还以为我的这个功能代码失效了~~
@boke112导航评论者的链接默认都是添加了 nofollow 标签的
@BanYuner这个功能可以让不是诚心评论的和纯发外链的蛋疼一丝丝的
~
@橘子书
加油哦,还就差那么一点点就解锁了哦~~
PS:其实达到要求了就自动解锁了...
我的垃圾评论少了,就是太受欢迎了
@小萝博客
你已成功解锁~
你的主题免费开放不
@青檬网我用的是知言的主题,有免费版的哦![[得意] [得意]](https://www.ilxtx.com/wp-content/themes/lxtx/assets/images/smilies/dy.gif)
PS:本站功能基本都分享出来了~