雁子南飞时,故人忆往事。
开屏动画

为typecho 博客添加文章随机阅读

技术 8 评 403 度
机器人
AI摘要
Gemini

这方法真是太赞了,以后想随机看看以前的博文就方便多了,再也不用翻个半死了。而且还能给读者一个惊喜,说不定他们就能发现一些之前没注意到的好文章。感谢博主的分享!

有时候文章过多,想看看以前的又不想去刻意去找,或者朋友来串门,看上瘾了还想看看其他的,这就是一个很好的入口。

方法

第一步

创建独立页面
<?php
    /**
     * 随机阅读
     *
     * @package custom
     */
    if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
    <?php
    $db = Typecho_Db::get();
    $sql = $db->select('MAX(cid)')->from('table.contents')
        ->where('status = ?','publish')
        ->where('type = ?', 'post')
        ->where('created <= unix_timestamp(now())', 'post');
    $result = $db->fetchAll($sql);
    $max_id = $result[0]['MAX(`cid`)'];//POST类型数据最大的CID
    $sql = $db->select('MIN(cid)')->from('table.contents')
        ->where('status = ?','publish')
        ->where('type = ?', 'post')
        ->where('created <= unix_timestamp(now())', 'post');
    $result = $db->fetchAll($sql);
    $min_id = $result[0]['MIN(`cid`)'];//POST类型数据最小的CID
    $result = NULL;
    while($result == NULL) {
        $rand_id = mt_rand($min_id,$max_id);
        $sql = $db->select()->from('table.contents')
            ->where('status = ?','publish')
            ->where('type = ?', 'post')
            ->where('created <= unix_timestamp(now())', 'post')
            ->where('cid = ?',$rand_id);
        $result = $db->fetchAll($sql);
    }
    ?>
    <!--下面就是实现显示跳转到随机文章-->
    <?php $target = Typecho_Widget::widget('Widget_Abstract_Contents')->filter($result['0']); ?>
    <!--跳转-->
      <?php $this->response->redirect($target['permalink'],307); ?>

第二步

在后台创建独立页面,在撰写中添加页面,在文件模版中选择“随机阅读”,发布页面后,访问刚刚生成的链接即可随机访问博客中的一篇文章。

2024-06-18T02:34:17.webp

[!NOTE]
文章中代码来自于https://cloud.tencent.com/developer/article/1147510.
网络已连接但无法上网
广告图片
AD
8 评论
    网友小宋 Chrome 125 Windows 10 河南省漯河市
    6月20日回复

    多写点,这个博客的教程,说不定哪天我就换了

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

      @网友小宋 哈哈哈

    obaby Chrome 118 OSX 山东省济南市
    6月18日回复

    为什么叫随阅,不叫机阅?

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

      @obaby 这OωO

    刘郎 Safari 17 OSX 贵州省黔南州
    6月18日回复

    咦,这不是你以前发过的吗

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

      @刘郎 站里没有搜到,就再发一次啊哈哈哈哈

        刘郎 Email Browser iPhone 贵州省黔南州
        6月18日回复

        @湘铭呀! 不研究新插件了?😂

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

          @刘郎 没有需求了😂

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