糁径杨花铺白毡,点溪荷叶叠青钱。
开屏动画

Typecho 调取随机文章

技术 2 评 488 度
机器人
AI摘要
Gemini

为了在博客文章末尾随机推荐其他文章,博主介绍了使用 Typecho 内置函数 getRandomPosts 的方法。通过添加代码并调用函数,可以指定推荐文章数量并将其以列表形式显示。实现过程简单,可根据需要定制。该方法提供了在文章末尾推荐相关内容的便利方式,提升博客用户体验。

想要在博客每一篇博文结束的时候加上几篇博客其他文章,之后找到一个可以实现随机调取制定数量文章的方法,代码来源 博客吧。实现方法很简单,并且可以根据自己的需求定制。

打开方式

1、将下面的代码添加至主题的functions.php文件:

function getRandomPosts($limit = 10){    
    $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><a href="'.$permalink.'" title="'.$post_title.'" target="_blank">'.$post_title.'</a></li></br>';
            $i++;
        }
    }
}

2、在要显示随机文章的地方添加以下调用代码

<?php getRandomPosts('10');?>

10 代表随机调用 10 篇文章,可以在需要的位置调用,例如博主就在主题目录下的 footer.php 文件中加入了如下代码:

    </br>
    <h2> 推荐阅读 </h2>
    </br>
    <?php getRandomPosts('3');?

这样就实现了在文章结束之后随机推荐三篇文章,效果如下:

2024-07-13T01:25:03.webp

转载:https://www.cnblogs.com/frytea/p/13411423.html

太姥山旅游之钻洞洞
广告图片
AD
2 评论
    刘郎 Safari 17 OSX 贵州省黔南州
    7月14日回复

    相比之下 我还是更喜欢自主寻找自己喜欢的文章 不太中意随机文章 哈哈

      湘铭呀! Chrome 126 Windows 10 福建省宁德市
      7月18日回复

      @刘郎 哈哈哈,有时候给来访者多一个就近选择

  • 小星星变奏曲 - 莫扎特
  • Moon River - Audrey Hepburn