Typecho随机文章的函数如下:
function randomPost($type='echo') {
$db = Typecho_Db::get();
$result = $db->fetchRow($db->select()->from('table.contents')->where('type=?', 'post')->where('status=?', 'publish')->limit(1)->order('RAND()'));
if($result) {
$f=Helper::widgetById('Contents',$result['cid']);
$permalink = $f->permalink;
if($type=="return"){return $permalink;}else{echo $permalink;}
} else {
echo "没有文章可随机";
}
}
使用
直接调用randomPost()
即可输出随机出来的文章地址,使用randomPost("return")
可返回随机到的文章地址。
不过为了方便使用,我们最好固定出来个api来进行调用,如下:
function themeInit($archive)
{
if($archive->request->isGet() && $archive->request->get('random')){
header('Location: '.randomPost('return'));exit;
}
}
之后我们访问你的域名?random=true
即可随机进入文章。
版权属于:泽泽社长
本文链接:https://blog.zezeshe.com/archives/typecho-random-article-function.html
本站未注明转载的文章均为原创,并采用
CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
1.2以前的版本好像用request->isGet不行耶
我换了个实现方法
为啥不升级到1.2.1呢
void不支持啊
我魔改了好多东西换掉了忒可惜
之前xss漏洞也恰好是1.2.1之前的没中奖
那个主题作者好像准备适配1.2.1了
是啊,我改的地方挺多的,有啥新功能更新的话再手动搬过来吧
我是放首页轮播图右边了
你这个参数也名
就不能 $return 么
不要在意这些细节,能跑就行
泽泽大佬突然的高产
牛逼,又是一个实用的详细教学。
拿走了,拿走了
从自己主题里抽出来点小代码水个文章
对了,老哥,就是我用你的邮箱插件,为啥提交评论刷新的时候会有些卡顿
因为需要等邮件发送完成,才会返回,而异步提交方式目前不知道为啥不兼容ajax提交评论的方式,不过可以考虑用阿里云推送那个