Typecho博客实现最新评论自动排第一功能

  • A+
所属分类:typecho 建站经验

“评论自动排第一”Typecho版的handsome主题专用,一般是放在index.php的这里,代码如下:

<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>

Typecho博客实现最新评论自动排第一功能

然后把如下代码放到functions.php里:《显示用户个数调节:functions里的“num<8”的 就是显示数量,推荐为4的倍数》

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>';
        }
    }
}

 

css样式:

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

 

如果需要将按钮圆角处理,可以加上这个样式:

.item a{border-radius:10px}

放到<div class="wrapper-md" id="post-panel">这个div里面,或者你们想放哪都行,我只是这觉得这样好看点。如果你用的不是handsome主题,代码也可以用,不过样式要自己重新写。

wordpress版本传送门:https://www.eklkg.cn/234.html

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:4   其中:访客  2   博主  2

    • avatar 景安VPS 1

      交换链接吗

        • avatar 极乐 Admin

          @景安VPS https://www.eklkg.cn/friendship.html 可以

            • avatar 景安VPS 1

              @极乐 已添加贵站至首页链接
              我站:http://52kuaiyun.com
              站名:景安vps