嗯,折腾无止境。这个功能是,你可以根据评论数来控制是否显示留言者的链接。比如说只有当留言者的评论数大于等于 1024 的时候才显示链接,否则不显示。当然,1024 只是个传说,你可以根据实际修改。
原文:大发 - WordPress 限定显示评论者链接 - https://fatesinger.com/78892
实现原理
这里的评论数根据邮箱来统计,最基本的思路就是根据邮箱来获取评论数,然后根据评论数决定是否显示留言者链接。这样虽然能达到效果,但是非常不科学,因为每条评论都会去查询一次,非常耗费性能。
最终方法是:把判断过程放在评论发布的时候。留言者发布评论的时候,系统获取留言者评论数。如果评论数大于指定数值(比如 1024),则把这个留言者(邮箱)加入到白名单中。然后根据这个白名单来控制是否显示留言者的链接。
实现代码
function fa_is_friend( $email = null , $num = 5 ){
$count = get_comments(array(
'author_email' => $email,
'count' => true,
));
return ( $count > $num );
}
function 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 ( fa_is_friend($email) && !in_array( $email , $friend_list) ) {
$friend_list[] = $email;
update_option('friend_list',$friend_list);
}
}
add_action('comment_post', 'fa_update_friend_list');
function 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','fa_show_friend_link',10,3);
fa_is_friend
这个函数第二个变量 num 就是控制显示的数量,根据你的需要酌情处理。注意:本方法仅适合使用
the_author_link()
来输出评论者昵称的主题。如果你使用了自定义拼接的 html,只需要再加个邮箱是否在白名单的判断即可。添加了此功能代码,则之前所有的评论都不显示评论链接,只有当留言者有了新的评论才会出发白名单的更新。
最后,如果你能用将此功能在你优秀的付费主题中,就去打赏大发一下吧!
老头这里已经用上,来试试看。
本文首发于:WordPress 限定显示评论者链接-垃圾站
我来试试。请问我的头像啥时候能给我显示出来?
@方室网志 这我还真不知道,我没有用缓存插件,官方的 SSL……其实我一直想问你为啥不整个头像呢……
@方室网志 看了你现在有头像的邮箱,之前的邮箱是错的吧?所以没有头像?囧~
我的评论能显示吗
@路易大叔 必须可以啊,老司机……
这个功能挺有意思的。
我在想要不要在评论框加上显示评论者留言数量的功能。但是又没想到好的css表现形式。
@synyan 留言数量?像大发现在那样就挺好的吧?
@老头 字太长了
@synyan 无聊,折腾了个,加上 kn007 的实时移动 tooltip~光标移至头像试试看。
这样的话,我的就不现实了 0.0
@自定义 我只设置了五条而已,你肯定不止啦,除非又换邮箱。
无折腾不博客
@fooleap 嗯,貌似我的博客只剩下这个乐趣了……
实际显示的留言数会减少~何必呢~
@chencool 实际显示的留言数会减少?啥意思?是说加了这个会打击评论者积极性,而减少评论?
@老头 评论少的不会显示。标题不应叫“限定显示评论者链接”,而是限制评论者留言显示~
@chencool 意思都差不多,留言还是能显示的,只是评论者链接根据数量决定显示不显示。
很少折腾这些,我都打算用回官方主题了。~;~
@xiaomlove 嗯,官方的主题也挺好的。
你这是设置了多少才显示链接
@Mr.He 5 而已,不多,哈哈。
让我来试一下能不能显示链接啊
@木瓜园 老司机,必须可以显示。
这样可以防止恶意评论吗?
@Meekdai 啥也防不了,纯折腾。
这么说,我是不能显示了
@安满小站 可以啊,都老司机了。
这个也是折腾出“境界”了,本来评论链接就被“美化”成自己的链接了,再加这个就没必要了,如果事先没美化倒是可以用用。
@不亦乐乎 表示严重同意
@灰狼 & @不亦乐乎 教训得是,纯粹是折腾。
哈哈,上面那个没显示头像的。。。额。。。我的头像也没显示
@摩天之星 这个真的不关我事啊…………我又没有缓存头像。
仔细看看才知道要表达的是什么,原来还有这么奇葩的需求…………
我是不管三七二十一,先链接上再说!
@随望淡思 这需求并不奇葩吧?不就是为了防那些纯 SEO 的,上来就是为了留链接的?不过用在我这里确实有点多余了。
我突然觉得这个主题还不错呢。。
@牧羊人 可能是错觉,哈哈。原版功能更多,我这是阉割了。
喃阿咪陀佛
@从良未遂 从良未遂,倒是从佛了?
@老头 试试能不能显示评论者链接
@从良未遂 老司机还担心这个?
知更鸟主题能直接加这个代码吗
@青山 按道理是可以的。