本文及资源最后更新时间 2022-05-20 by sky995
typecho评论增加楼层显示:
1 2 3 4 5 6 7 |
if($comments->levels == 0): if($comments->sequence == 1): 沙发 elseif($comments->sequence == 2): 板凳 elseif($comments->sequence == 3): 地毯 else: 第$comments->sequence(); 楼 endif; endif; |
使用方法:放置在你的评论文件中评论列表循环处。
typecho 根据文章访问量分等级:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
function Viewlevel($cid){ $db = Typecho_Db::get(); $exist = $db->fetchRow($db->select('str_value')->from('table.fields')->where('cid = ?', $cid))['str_value']; //这里需要将 str_value 修改成你的阅读量数据库字段 if($exist<100){ echo '<span>新文</span>'; }elseif ($exist<300 && $exist>=100) { echo '<span>爽文</span>'; }elseif ($exist<1000 && $exist>=300) { echo '<span>荐文</span>'; }elseif ($exist<5000 && $exist>=1000) { echo '<span>热文</span>'; }elseif ($exist<10000 && $exist>=5000) { echo '<span>头条</span>'; }elseif ($exist<30000 && $exist>=10000) { echo '<span>爆文</span>'; }elseif ($exist>=30000) { echo '<span>神贴</span>'; }} |
调用代码:
1
|
Viewlevel($this->cid);
|
可以用在首页文章列表页显示,根据页面浏览量分为各种标签,或者也可以像我首页一样替换为图标等等
typecho 实现那年今日功能:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
function _getHistoryToday($created){ $date = date('m/d', $created); $time = time(); $db = Typecho_Db::get(); $prefix = $db->getPrefix(); $sql = "SELECT * FROM `{$prefix}contents` WHERE DATE_FORMAT(FROM_UNIXTIME(created), '%m/%d') = '{$date}' and created <= {$time} and created != {$created} and type = 'post' and status = 'publish' and (password is NULL or password = '') LIMIT 5"; $result = $db->query($sql); if($result instanceof Traversable) { foreach ($result as $item) { $item = Typecho_Widget::widget('Widget_Abstract_Contents')->push($item); $title = htmlspecialchars($item['title']); $permalink = $item['permalink']; echo "<li class='item'><a class='link' href='{$permalink}' title='{$title}'>{$title}</a></li>";}}} |
文章内调用:
1
|
_getHistoryToday($this->created)
|
全站内调用:
1
|
_getHistoryToday(time())
|
可以实现调用去年、前年或者很多年前当天发布的文章。
typecho 全站数据调用:
1 2 3 4 5 |
Typecho_Widget::widget('Widget_Stat')->to($stat); 文章总数:$stat->publishedPostsNum() 篇 分类总数:$stat->categoriesNum() 个 评论总数:$stat->publishedCommentsNum() 条 页面总数:$stat->publishedPagesNum() 页 |
typecho 一言:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
function GetHitokoto(){ $url = 'https://v1.hitokoto.cn/?encode=json'; $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 6); $response = curl_exec($ch); if($error=curl_error($ch)){ return '隔着屏幕轻易产生感情的你,肯定很孤独吧。'; } curl_close($ch); $array_data = json_decode($response,true); $Emu_content = $array_data['hitokoto'].'—《'.$array_data['from'].'》'; return $Emu_content; } |
调用语句:
1
|
echo GetHitokoto();
|
typecho 实现功能后台开关按钮:
1 2 3 |
function themeConfig($form){ $test = new Typecho_Widget_Helper_Form_Element_Select('test',array(0=>'不开启',1=>'开启'),0,'测试功能','开启网站测试功能'); $form->addInput($test);} |
前台放入以下代码:
1
|
if($this -> options -> test == '1'):
|
这里可以放执行的代码、样式等内容
1
|
endif;
|
有些不常用的代码或者效果,可以自己加个开关在后台控制,免去每次加了再删除再添加的尴尬。