前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >模块化Typecho随机调用文章 减轻模板页面的体积

模块化Typecho随机调用文章 减轻模板页面的体积

作者头像
老蒋
发布2021-12-24 14:50:39
1800
发布2021-12-24 14:50:39
举报
文章被收录于专栏:老蒋专栏

今天在帮助客户调整一个企业网站主题的时候发现他的程序是用的Typecho,但是侧栏的随机文章是使用的直接SQL代码调用的,感觉比较麻烦,于是我准备寻找一款直接定义函数的调用,这样就可以减少主题页面模板的代码体积,本身我们在使用Typecho就要考虑到轻便。

代码语言:javascript
复制
//随机文章调用 itbulu.com 整理网络
function getRandomPosts($limit = 9){    
    $db = Typecho_Db::get();
    $result = $db->fetchAll($db->select()->from('table.contents')
        ->where('status = ?','publish')
        ->where('type = ?', 'post')
        ->where('created <= unix_timestamp(now())', 'post')
        ->limit($limit)
        ->order('RAND()')
    );
    if($result){
        $i=1;
        foreach($result as $val){
            if($i<=3){
                $var = ' class="red"';
            }else{
                $var = '';
            }
            $val = Typecho_Widget::widget('Widget_Abstract_Contents')->push($val);
            $post_title = htmlspecialchars($val['title']);
            $permalink = $val['permalink'];
            echo '<li><i'.$var.'>'.$i.'</i><a href="'.$permalink.'" title="'.$post_title.'" target="_blank">'.$post_title.'</a></li>';
            $i++;
        }
    }
}

我们将代码丢到当前主题的Functions.php系统文件中,然后直接调用。

代码语言:javascript
复制
<?php getRandomPosts('8');?>

我们可以根据需要修改调用数量。当然,我们可以在定义代码中调整样式。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档