专栏首页杨逸轩 ' sBlogTypecho如何利用自定义页面,随机显示(跳转到)一篇文章

Typecho如何利用自定义页面,随机显示(跳转到)一篇文章

当我们的博客文章很多时,无法很直观的展示所有文章给读者,这时候我们可随机给读者显示一篇文章。 下面这个方法也是在网上找的一些教程累积的方法,不需要修改typecho源文件,只需要在主题文件夹下,新建一个php文件,名字自定义,然后把以下代码扔进去:

<?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); ?>

好了,然后在后要新建一个自定义页面,引用这个php文件即可。 实际效果请看本博客导航栏里的【手气】 感谢~

转载至 :吖远zzy

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • tony平常使用那些开源呢?

    简介        tony在今年(2018)也是换上了typecho开源博客系统。        tony在这之前也使用过wordpress来搭建博客,不过...

    xcsoft
  • 【2019-10-05 更新】Typecho 主题:AL_lolimeow - 基于Wordpress 主题 lolimeow

    作者:Alone88 Email:im#alone88.cn (#换成@) Wordpress form 猫可喵

    Alone88
  • Mirages主题帮助文档

    将压缩包内1.主题文件文件夹中的Mirages文件夹完整上传到服务器上 Typecho 的/usr/themes/文件夹内,然后到 Typecho 后台,启用主...

    乐心湖
  • 个人博客平台选择 Typecho 还是 WordPress ?

    明月一直都是 WordPress 的粉丝,可以说七八年的博客生涯都是 WordPress 博客上度过,所以说对 WordPress 的好、坏理解和认识应该说更...

    明月云服务
  • Typecho安卓客户端Nabo

    无需任何插件,仅需博客开启XMLRPC。编辑器仅支持 markdown 这个android项目不开源,权那他保证绝不会私自盗取账号密码 开发者:权那他

    布衣者
  • 【玩转 WordPress】Serverless 搭建 WordPress = 2 分钟

    以下内容来自「玩转腾讯云」用户原创文章,已获得授权。 WordPress 是使用 PHP 语言开发的平台,用户可以在支持 PHP 和 MySQL 数据库的服务...

    腾讯云serverless团队
  • 记从Hexo迁移到Typecho

    从2016年4月24号开始,我的博客从WordPress迁移至Hexo。当时Hexo算是当红炸子鸡,原生支持Markdown语法,支持静态部署,支持各种插件,还...

    zhangheng
  • [Typecho插件] 新评论推送至 IFTTT Webhooks

    进入 Typecho 插件目录usr/plugins/,创建名为Comment2IFTTT的文件夹,然后将 Plugin.php 文件下载到此文件夹内

    子润先生
  • Next.Mist for Typecho 模板发布

    以前一直想换一个简洁大方不花哨的博客主题,Typecho 默认主题显得太简陋了一点。用过一段时间的 cho 的 Maupassant 和 Navy 主题,不久之...

    zgq354
  • Handsome魔改备忘

    请注意,本文编写于 536 天前,最后修改于 137 天前,其中某些信息可能已经过时。

    Naraku
  • Wordpress完美搬家到Typecho全过程

    首先,原来的Wordpress由于各种静态或动态资源的累计已经变得十分臃肿,加载速度异常缓慢,已经有了再次转回Typecho的念头。 其次,建立个人主页,搬到...

    赵帆同学GXUZF.COM
  • Polyhedron主题:一款简洁大方的双栏自适应Typecho主题

    首先,你需要启动Links插件才能保证主题正常运行。 由于原插件存在一定问题,我将修改后的版本置于下载区。

    赵帆同学GXUZF.COM
  • Typecho文章代码高亮功能

    Typecho是一款由国人开发的博客程序,它的特点是简洁小巧,扩展性强,并且内置支持Markdown语法写作,因而很受技术博客作者的欢迎。但是默认的Typec...

    HCG_Sky
  • 响应式网址导航网站源码 – Webstack

    GIthub项目地址:https://github.com/WebStackPage/WebStackPage.github.io

    AlexTao
  • 个人博客如何选择 Typecho 和 Hexo ?

    这两天明月一直在折腾学习 Hexo 博客框架的部署和搭建,目前基本已经成型了(hexo.imydl.tech),通过这几天的不断折腾对比,发现 Hexo 还是很...

    明月登楼
  • 博客从 typecho 迁移到 Hexo

    tanmx
  • Typecho主题模板制作快速入门简易教程

    Typecho主题的制作并不难,(以下称模板)只要写好了HTML和CSS,嵌套模板就非常简单了,无需了解标签的内部结构,只要会使用,就能迅速完成模板。

    梦溪
  • 手把手教你搭建一个属于自己的网站

    网站也可以理解为web应用程序,只不过无需用户下载,只要有网络,随时随地都能访问。

    游魂
  • 如何搭建 Typecho 博客

    Typecho是一个基于PHP的简洁的开源博客程序。它使用多种数据库(MySQL,PostgreSQL,SQLite)储存数据,在GNU GPLv2许可证下发行...

    璟櫆

扫码关注云+社区

领取腾讯云代金券