Typecho中实现侧边栏标签云和标签云页面以及彩色标签云
之前在折腾wordpress的时候实现过标签云,同时在麻辣GIS上也实现了类似36氪的标签云效果,所以这次重新整理博客样式的时候也想做上这个效果。具体方法如下:
侧边栏标签云
代码如下:
<?php Typecho_Widget::widget('Widget_Metas_Tag_Cloud', array('sort' => 'count', 'ignoreZeroCount' => true, 'desc' => true))->to($tags); ?>
<?php if($tags->have()): ?>
<?php while ($tags->next()): ?>
<a style="color:rgb(<?php echo(rand(0,255)); ?>,<?php echo(rand(0,255)); ?>,
<?php echo(rand(0,255)); ?>)" href="<?php $tags->permalink();?>">
<?php $tags->name(); ?></a>
<?php endwhile; ?>
<?php endif; ?>
标签云页面
复制page.php,重命名为tags.php,然后在开头加入下面的代码:
<?php
/**
* 标签云
*
* @package custom
*/?>
然后将
<?php $this->content();?>
替换为
<?php if($this->slug=="tags"): ?>
<?php Typecho_Widget::widget('Widget_Metas_Tag_Cloud', array('sort' => 'count', 'ignoreZeroCount' => true, 'desc' => true))->to($tags); ?>
<?php if($tags->have()): ?>
<p>
<?php while ($tags->next()): ?>
<a style="color:rgb(<?php echo(rand(0,255)); ?>,<?php echo(rand(0,255)); ?>,
<?php echo(rand(0,255)); ?>)" href="<?php $tags->permalink();?>">
<?php $tags->name(); ?></a>
<?php endwhile; ?>
</p>
<?php endif; ?>
<?php else: ?>
<?php $this->content(); ?>
<?php endif; ?>
最后新建一个独立页面,然后模版选择标签云,slug设置为tags即可。