闻心阁

一蓑烟雨看苍生,半壶浊酒笑红尘

Typecho中实现侧边栏标签云和标签云页面以及彩色标签云

2013-06-28 约 1 分钟读完 搬砖秘籍

之前在折腾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即可。