网站建设资讯

WordPress 根据评论者最后一次评论时间来决定是否显示评论者链接

技术教程 2020-02-11 21:51:25 | 阅读:0

关于对评论者链接的输出控制,之前发过一篇文章,里面讲的是通过评论者评论数量来限制是否输出显示评论者网址,具体如下:


总感觉上面的控制方法不给力,因为总有些人会刷一些不走心的评论来突破上面的限制,再者,由于博客消亡的比较快,指不定哪天某些评论数量达标的评论者的网站挂了被搞成了有害人身心健康的网站呢...


而为了“防范”这些情况,同时也增强博客网站的互动性,我们就可以采用本文标题所描述的方式了:根据评论者最后一次评论时间来决定是否显示评论者链接。比如,评论者的最后一次评论时间距离当前时间超过了 10 天,就禁止显示评论者网站链接。


话不多说,直接上代码,觉得有用就不要吝啬你的评论和转发哦~

/**

* WordPress根据评论者最后一次评论时间来决定是否显示评论者链接 - 龙笑天下

* http://www.ilxtx.com/display-or-hide-comment-author-link-according-to-last-comment-date.html

* update:2019-5-29

*/

function lxtx_show_comment_author_link( $return , $author, $comment_ID ){

    if ( !is_user_logged_in() ) { // 登录用户无鸭梨

        date_default_timezone_set('PRC');

        $limit_days = 10; // 天数,代表最后一次评论时间距离今天超过10天的话,则隐藏评论链接

        $comment = get_comment( $comment_ID );

        if ( !empty($comment->comment_author_email) ) {

            $last_comment = get_comments(array(

                'author_email' => $comment->comment_author_email,

                'number' => '1',

                'orderby' => 'comment_date',

                'order' => 'DESC',

                'status' => 'approve',

                'type' => 'comment'

            ));

            if ( ( time() - strtotime($last_comment['0']->comment_date) ) > $limit_days*24*3600 ) {

                $return = $author;

            }

        }else{

            $return = $author;

        }

    }

    return $return;

}

add_filter('get_comment_author_link','lxtx_show_comment_author_link', 10, 3);

当然,本方法仅适合使用 the_author_link()来输出评论者昵称的主题,一般来讲,标准主题都会使用这个函数。



相关资讯

联系电话 1588-022-8825

服务号咨询

联系我们

×

微信咨询

联系点艾科技,免费获取方案及报价

1588-022-8825