首页
壁纸
友情链接
留言板
读者墙
关于博客
网站统计
更多
免责声明
推荐
工具箱
在线音乐
小霸王
小黑屋
栅格之地
WIKI
Search
1
给你网站博客的评论添加一键打卡功能
1,641 阅读
2
Typecho博客主题Joe7.7.1美化优化记录【持续更新】
1,632 阅读
3
博客美化和优化过程记录及实用技巧【停止更新】
1,258 阅读
4
php报错open_basedir restriction in effect问题和TP5的think-log-viewer
1,248 阅读
5
非插件typecho给博客加个评论等级-仿虎牙直播贵族
1,189 阅读
编程相关
WEB前端
网站建设
生活随笔
经验分享
登录
Search
标签搜索
博客美化
经验分享
网站优化
Joe主题
php
css
typecho
javascript
html
external
nofollow
noopener
ajax
session
跨域
thinkphp
animation
cdn
七牛云
宝塔
小天
累计撰写
21
篇文章
累计收到
240
条评论
首页
栏目
编程相关
WEB前端
网站建设
生活随笔
经验分享
页面
壁纸
友情链接
留言板
读者墙
关于博客
网站统计
免责声明
推荐
工具箱
在线音乐
小霸王
小黑屋
栅格之地
WIKI
搜索到
1
篇与
读者墙
的结果
2024-01-10
给你网站博客添加一个读者墙
{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 '<object><a class="vip1" title="剑士"></a></object> <span class="level le1">♙LV.'.$nums.' </span> '; else if($nums>=20 && $nums<50) echo '<object><a class="vip2" title="骑士"></a></object> <span class="level le2">♘LV.'.$nums.' </span> '; else if($nums>=50 && $nums<100) echo '<object><a class="vip3" title="领主"></a></object> <span class="level le3">♗LV.'.$nums.' </span> '; else if($nums>=100 && $nums<200) echo '<object><a class="vip4" title="公爵"></a></object> <span class="level le4">♖LV.'.$nums.' </span> '; else if($nums>=200 && $nums<350) echo '<object><a class="vip5" title="君王"></a></object> <span class="level le5">♕LV.'.$nums.' </span> '; else if($nums>=350 && $nums<600) echo '<object><a class="vip6" title="帝皇"></a></object> <span class="level le6">♔LV.'.$nums.' </span> '; else if($nums>=600) echo '<object><a class="vip7" title="超神"></a></object> <span class="level le7">㊣LV.'.$nums.' </span> '; }{callout color="#a48e70"}新建guestbook.php文件,将以下代码复制进去。Joe主题的话,放到Joe/目录下;其他主题根据自身情况存放。{/callout}{callout color="#8bbd1f"}页面弄好后,进入后台-->选择管理-->独立页面-->新增-->选项:自定义模板,选择读者墙,即可。{/callout}<?php /** * 读者墙 * * @package custom */ ?> <!-- * 读者墙 * 放入主题目录下即可。 * * @Author:小天博客[Feng Tianxiang] * @Email:tianxiang.feng@qq.com * @Date:2021/12/29 * @site:https://www.xtboke.com --> <!DOCTYPE html> <html lang="zh-CN"> <head> <style> /*小天自定义*/ @media (max-width: 1400px){ html .xt-reader-top{grid-template-columns: repeat(3, 1fr);} html .xt-reader-list{grid-template-columns: repeat(10, 1fr);} } @media (max-width: 1200px){ html .xt-reader-top{grid-template-columns: repeat(3, 1fr);} html .xt-reader-list{grid-template-columns: repeat(10, 1fr);} } @media (max-width: 992px){ html .xt-reader-top{grid-template-columns: repeat(1, 1fr);} html .xt-reader-list{grid-template-columns: repeat(4, 1fr);} } @media (max-width: 768px){ html .xt-reader-top{grid-template-columns: repeat(1, 1fr);} html .xt-reader-list{grid-template-columns: repeat(4, 1fr);} } .xt-read-box{background: var(--background);padding:15px 5px;border-radius:5px;} .xt-read-box h2{margin:15px 0;} .xt-reader-top{display: grid;gap: 15px;grid-template-columns: repeat(3, 1fr);} .xt-reader-top a.contain { display: block; border-radius: 5px; overflow: hidden; padding: 15px; color: #fff; word-break: break-word; transition: box-shadow 0.35s, -webkit-transform 0.35s; transition: transform 0.35s, box-shadow 0.35s; transition: transform 0.35s, box-shadow 0.35s, -webkit-transform 0.35s; } .xt-reader-top a.contain .title { position: relative; } .xt-reader-top a.contain .content { display: flex; justify-content: space-between; align-items: center; margin-top: 15px; } .xt-reader-top a.contain .content .desc { margin-right: 10px; } .xt-reader-top a.contain .title::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 100%; height: 1px; background: #fff; } .xt-reader-top a.contain .avatar{border-radius:50%;} .xt-reader-top a.contain:hover{-webkit-transform:translateY(-5px) scale(1.025);transform:translateY(-5px) scale(1.025);box-shadow:0 34px 20px -24px rgba(136,161,206,0.3)} hr{margin:15px 0;} /*列表*/ .xt-reader-list{display: grid;gap: 15px;grid-template-columns: repeat(10, 1fr);} .xt-reader-list li{text-align:center;cursor:pointer;color:var(--main);} .xt-reader-list .avatar{border:1px solid #eee;border-radius:5px;margin-bottom:5px;} </style> <?php $this->need('public/include.php'); ?> </head> <body> <div id="Joe"> <?php $this->need('public/header.php'); ?> <div class="joe_container"> <div class="joe_main"> <div class="xt-read-box"> <center><p><h2>读者墙</h2></p></center> <ul class="xt-reader-top"> <?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]){ ?> <li> <a class="contain" href="javascript:;" rel="noopener noreferrer" style="background: <?php echo $change[$i]['color'];?>"> <span class="title">【<?php echo $change[$i]['tit'];?>】 评论:<?php echo $result[$i]['cnt'];?></span> <div class="content"> <div class="desc"><?php dengji($result[$i]['mail']);?><?php echo $result[$i]['author']; ?><br/><?php echo $url;?></div> <img width="40" height="40" class="avatar lazyloaded" src="<?php _getAvatarByMail($result[$i]['mail']); ?>" title="<?php echo $result[$i]['author']; ?>"> </div> </a> </li> <?php }else{break;} } ?> </ul> <hr/> <ul class="xt-reader-list"> <?php for($j=3; $j<98; $j++){ if($result[$j]){?> <li title="【第<?php echo $j+1;?>名】评论:<?php echo $result[$j]['cnt'];?>"><img width="40" height="40" class="avatar lazyloaded" src="<?php _getAvatarByMail($result[$j]['mail']); ?>"><br/><?php echo $result[$j]['author']; ?></li> <?php }else{break;} }?> </ul> <?php } ?> </div> </div> <?php $this->need('public/aside.php'); ?> </div> <?php $this->need('public/footer.php'); ?> </div> </body> </html>
2024年01月10日
388 阅读
7 评论
6 点赞