TYPECHO WIKI
每一个作品都值得被记录

Typecho随机文章的调用方法代码

Typecho维基君Typecho教程 • 990次浏览 • 发布 2021-08-24 • 更新 2021-08-24

之前本站分享过一款typecho随机文章插件RandomArticleList,该插件是基于typecho 0.8版本开发,通过该插件可以随机显示全站中指定数目的文章。但是typecho除了通过插件实现随机文章外,直接通过函数代码也可以调用随机文章,且方法很简单。

操作方法:

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.'</i><a href="'.$permalink.'" title="'.$post_title.'" target="_blank">'.$post_title.'</a></li>';
			$i++;
		}
	}
}

2、在要显示随机文章的地方添加以下调用代码,比如要在侧边栏显示随机文章,一般是添加到主题的sidebar.php文件,当然不同的文章模板可能不一样,请根据自己的模板添加。

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

代码中的10是要显示的文章数量。

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。
厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »