加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > wordpress > 正文

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

发布时间:2020-12-14 14:24:36 所属栏目:wordpress 来源:网络整理
导读:由站长 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。 wordpress 根据评论数量来判断是否显示评论者链接,对于一些广告用户还是有一定的作用的,毕竟有些时候,我们精力有限,不可能随时关注站点的垃圾评论

以下代码由PHP站长网 52php.cn收集自互联网现在PHP站长网小编把它分享给大家,仅供参考

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

方法拓展:

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

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读