• typecho按分类显示文章标题颜色实战

    今天想把我用typecho搭建的一个站的文章标题颜色按照分类来显示,也就是不同分类,文章标题的颜色就会不同,效果可以查看www.jingang.org

    刚开始想用<?php if ($this->is(‘category’,’news’)): ?> ,但是想了下,这个只是判断当前页面是不是news分类下面的,并不能达到我的要求,事实也证明我用此判断然后输出样式没有成功。

    那怎么搞呢?typecho群里的宅给我提醒了,“ 直接class=”<?php echo 分类缩略字 ?>” ”,试了下 <?php $this->category(‘,’); ?> 不行,因为那个直接就输出分类的链接了。不过答案很快就给我找到了,<?php echo $this->category; ?> 就可以了。

    下面说说具体怎么用吧,如果你想在index页面,让文章标题的颜色根据分类显示,那么就打开你的模板文件夹下的index.php文件

    <h2 class="entry_title"></h2>
    

    替换为

    <h2 class="entry_title">
    	<a href="<?php $this->permalink() ?>" class="<?php echo $this->category; ?>"><?php $this->title() ?></a>
    </h2>
    

    这样就会在index页面的每篇文章里加上class=”分类缩略名”,然后我们就可以用这个来修改css样式了

    打开你的主题文件夹下style.css文件来定义css,比如我的一个分类是news,想把分类下文章标题都变成红色的,那么添加代码

    .news{color:red;}
    

    同理,你也可以将archives.php,以及post.php等页面都照此法处理。

    ———————————注意—————————–

    据我观察,如果一篇文章属于多个分类,那么用<?php echo $this->category; ?>只能输出一个分类缩略名,暂时还没找到更好的办法。