鹿泽笔记 - 记录互联网技术知识,工作与生活点滴的个人博客

无插件实现Typecho网站随机文章调用的方法

有时候为了网站的SEO优化,不得不让页面多出现点链接,而随机文章的显示,可以让页面每次刷新都有新的链接,搜索引擎抓取的时候也会认为该页面有更新,会持续的抓取,对于整站来说,也能提高页面的收录情况。现在就能实现这个功能,本着能不用插件就不用插件的方法,无插件实现Typecho网站随机文章调用的方法如下:

这个代码直接添加到当前主题的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.'</i><a href="'.$permalink.'" title="'.$post_title.'" target="_blank">'.$post_title.'</a></li>';
$i++;
   }
 }
}

调用代码:

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

在需要调用的位置调用随机文章。这里在文章标题中是没有时间的,我们可以在第一步的代码里加上时间,直接用date(“Y/m/d”)调用就可以了。

👋 感谢您的观看!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享