小天博客 | 冯天祥 | IT博客 | IT小天 - 读者墙
type: channel
link: https://www.xtboke.com/tag/读者墙/
items: 给你网站博客添加一个读者墙

给你网站博客添加一个读者墙
type: item
date: 2024-01-10T15:46:00+08:00
description: {callout color="#1d2fbf"}给网站博客增加一个读者墙页面，效果可看本站读者墙。{/callout}{message type="warning" content="最后更新：2024-03-28 12:10:12 星期四"/}下面的 function dengji 函数方法，放在主题目录 Joe/functions.php 文件里面，函数的规则都可以自行定义更改。// 评论者等级 function dengji($email){ $db = Typecho_Db::get(); $mail = $db->fetchAll($db->select(array('COUNT(cid)'=>'nums'))->from('table.comments')->where('mail = ?', $email)->where('authorId != ?','1')); foreach ($mail as $v){ $nums = $v['nums']; } if($nums<1) echo ''; else if($nums>=1 && $nums<20) echo ' ♙LV.'.$nums.' '; else if($nums>=20 && $nums<50) echo ' ♘LV.'.$nums.' '; else if($nums>=50 && $nums<100) echo ' ♗LV.'.$nums.' '; else if($nums>=100 && $nums<200) echo ' ♖LV.'.$nums.' '; else if($nums>=200 && $nums<350) echo ' ♕LV.'.$nums.' '; else if($nums>=350 && $nums<600) echo ' ♔LV.'.$nums.' '; else if($nums>=600) echo ' ㊣LV.'.$nums.' '; }{callout color="#a48e70"}新建guestbook.php文件，将以下代码复制进去。Joe主题的话，放到Joe/目录下；其他主题根据自身情况存放。{/callout}{callout color="#8bbd1f"}页面弄好后，进入后台-->选择管理-->独立页面-->新增-->选项：自定义模板，选择读者墙，即可。{/callout}<?php /** * 读者墙 * * @package custom */ ?> <?php $this->need('public/include.php'); ?> <?php $this->need('public/header.php'); ?> 读者墙 <?php $change = array(0=>array('color'=>'#FF5E52','tit'=>'金牌读者'),1=>array('color'=>'#7CCD38','tit'=>'银牌读者'),2=>array('color'=>'#52BAF5','tit'=>'铜牌读者')); $db = Typecho_Db::get(); $sql = $db->select('COUNT(cid) AS cnt', 'author', 'url', 'mail') ->from('table.comments') ->where('status = ?', 'approved') ->where('type = ?', 'comment') ->where('authorId != ?', '1') ->where('mail != ?', 'tianxiang.feng@qq.com') //排除自己上墙 ->group('mail') ->order('cnt', Typecho_Db::SORT_DESC) ->limit('100'); //读取几位用户的信息 $result = $db->fetchAll($sql); if (count($result) > 0) { $maxNum = $result[0]['cnt']; for($i=0; $i<3; $i++){ $url = $result[$i]['url']?$result[$i]['url']:'————'; if($result[$i]){ ?> <a class="contain" href="javascript:;" rel="noopener noreferrer" style="background: <?php echo $change[$i]['color'];?>"> 【<?php echo $change[$i]['tit'];?>】 评论：<?p…