匿名.

评论自动排名--Handsome
前言这两天逛博客发现一个挺好玩的功能 就是当你评论后 排名会显示到第一位 感觉挺有意思的 然后翻文章 爬搜索引擎 ...
扫描右侧二维码阅读全文
18
2019/01

评论自动排名--Handsome

前言

这两天逛博客发现一个挺好玩的功能 就是当你评论后 排名会显示到第一位 感觉挺有意思的 然后翻文章 爬搜索引擎 最后知道实现的原理是什么了

效果

实现方法

需为Handsome主题

1.将以下代码插入到functions.php内

function Autofirst(){
    $db = Typecho_Db::get();
    $query = $db->select()->from('table.comments')->where('authorId = ?','0')->order('coid',Typecho_Db::SORT_DESC)->limit(100);
    $result = $db->fetchAll($query);
    $arrUrl = array();
    $arrAuthor = array();
    foreach ($result as $value) {
        if($value["url"]!==null){
            array_push($arrUrl,$value["url"]);
            array_push($arrAuthor,$value["author"]);
        }
    }
    $su=array_filter(array_merge(array_unique($arrUrl)));
    $sa=array_filter(array_merge(array_unique($arrAuthor)));
    $num=0;
    for($i=0;$i<count(array_unique($su));$i++){
        if($su[$i]!=="" && $num<8){
            $num+=1;
            $db1 = Typecho_Db::get();
            $query1 = $db1->select()->from('table.comments')->where('url = ?',$su[$i])->order('coid',Typecho_Db::SORT_DESC)->limit(100);
            $result1 = $db1->fetchAll($query1);
            $arrAuthor1 = array();
            foreach ($result1 as $value) {
                    array_push($arrAuthor1,$value["author"]);
            }
            echo '<div class="col-lg-3 col-md-3 item"><a href="'.$su[$i].'" rel="external nofollow" class="btn btn-default btn-block overflow" target="_blank">'.$arrAuthor1[0].'</a></div>';
        }
    }
}

可以通过修改上述代码的num<8来调整显示最新评论者的数量,以4的倍数为宜。

2.将以下代码插入到index.php的<div class="wrapper-md" id="post-panel"> 下面,这样会有更加适配的显示效果

<div class="row visible-lg visible-md">
<div class="col-lg-12">
<div class="panel panel-default ggg">
    <div class="panel-heading">
        <i class="glyphicon glyphicon-th"></i> 您的每次评论都将会展示在本博客首页导航栏第一位
    </div>
    <div class="panel-body row autofirst1">
        <?php Autofirst(100) ?>
    </div>
</div>
</div>
</div>

3.将以下代码添加至后台--Handsome主题设置--自定义CSS内。

    .autofirst1 .item{
        padding:5px 10px
      }
    .item a{border-radius:10px}
    .overflow{
        overflow:hidden;
        white-space: nowrap;
        word-wrap: normal;
      }
    .autofirst1{
        padding:10px 20px
    }

参阅:运维学习笔记博客

主题更新至V5.1.1之后,效果下方会出现一段横线 修复方案请看下方

Bug修复

替换/usr/themes/handsome/assets/css/features/newblack.min.css文件内容为下方代码

body {
    color:#777
}
.text-muted {
    #color:#a0a0a0
}
.page-navigator>.current>a,.page-navigator>.current>a:focus,.page-navigator>.current>a:hover,.page-navigator>.current>span,.page-navigator>.current>span:focus,.page-navigator>.current>span:hover {
    z-index:3;
    color:#fff;
    cursor:default;
    background-color:#111;
    border-color:#111
}
.page-navigator>li>a,.page-navigator>li>span {
    position:relative;
    float:left;
    padding:6px 12px;
    margin-left:-1px;
    line-height:1.42857143;
    color:#111;
    text-decoration:none;
    background-color:#fff;
    border:1px solid #ddd
}
.page-navigator>li>a:focus,.page-navigator>li>a:hover,.page-navigator>li>span:focus,.page-navigator>li>span:hover {
    z-index:2;
    color:#111;
    background-color:#eee;
    border-color:#ddd
}
.bg-white {
    color:#777
}
.nav-tabs-alt .nav-tabs>li.active>a {
    border-bottom-color:#000!important
}
.panel-body a:hover {
    color:#222;
}
.panel-body a {
    color:#58666e;
    word-wrap:break-word;
    word-break:break-all
}
.bg-black .nav>li>a:focus {
    background-color:#000;
    color:#fff
}

本文由 匿名. 创作, 采用 知识共享署名4.0 国际许可协议进行许可

本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名

原文地址:《评论自动排名--Handsome》

最后修改:2019 年 05 月 05 日 02 : 51 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论