您当前的位置:易学堂 > EM&TP

Emlog 侧边栏标签自定义数量随机显示

时间:2019-03-16 13:22:08

前言

根据emlog默认模板研究,显示侧边栏标签组件会显示网站所有的标签,而在侧边栏组件管理中该组件只提供了修改标题,并没有提供修改显示数量的设置,如果网站标签非常多,页面加载会有影响,因此控制标签显示数量很有必要;另外侧边栏标签组件调用的标签根据标签的tid升序排列显示,即是先创建的标签排在前面,显示不够友好。所以需要把标签随机显示,具体可以通过修改主题module.php文件的标签组件代码实现。

正文

操作步骤:

1、编辑当前使用的emlog模板的module.php文件,找到代码:

$tag_cache = $CACHE->readCache('tags');

2、在该代码下面添加:

shuffle($tag_cache);
$tag_cache = array_slice($tag_cache,0,20);

shuffle(array)函数的作用是把数组中的元素按随机顺序重新排序,上述代码中的$tag_cache便是网站标签组成的一个数组。

第一行代码实现标签随机显示,第二行是控制标签数量。

修改好的完整标签组件代码:

<?php 
function widget_tag($title){
	global $CACHE;
	$tag_cache = $CACHE->readCache('tags');
	shuffle($tag_cache);
	$tag_cache = array_slice($tag_cache,0,15); //15是调用的标签数量    
?>
	 <div class="widget widget_tag">
		<h3><?php echo $title; ?></h3>
	<ul>
	<?php foreach($tag_cache as $value): ?>
		<li><a href="<?php echo Url::tag($value['tagurl']); ?>" title="<?php echo $value['tagname']; ?>"><?php echo $value['tagname']; ?></a></li>
	<?php endforeach; ?>
	</ul>
	</div>
<?php 
}
?>