Typecho默认主题 用分类作导航栏方法

Typecho是一款很简单的博客程序,但它太简单了,比如默认主题的导航栏,只有独立页面,没有分类。这样对于访客来说,就很不友好。

而想要把导航栏上加上分类,就需要修改代码,下面就给各位说说,怎么改。

1、首先找到默认主题下的header.php文件并打开,位置在 /usr/themes/default
2、接着在这个文件里,找到第53行,代码如下:

<?php \Widget\Contents\Page\Rows::alloc()->to($pages); ?>
                    <?php while ($pages->next()): ?>
                        <a<?php if ($this->is('page', $pages->slug)): ?> class="current"<?php endif; ?>
                            href="<?php $pages->permalink(); ?>"
                            title="<?php $pages->title(); ?>"><?php $pages->title(); ?></a>
                    <?php endwhile; ?>

3、然后在这代码的上面,增加以下代码,最后保存即可。

<?php $this->widget('Widget_Metas_Category_List')->to($category); ?>
                    <?php while($category->next()): ?>
                    <li><a<?php if($this->is('category', $category->slug)): ?> class="current"<?php endif; ?> href="<?php $category->permalink(); ?>" title="<?php $category->name(); ?>"><?php $category->name(); ?></a></li>
                    <?php endwhile; ?>

需要注意的是,改了之后,CSS样式会错乱,所以,你需要在style.css文件里,增加以下样式,最后保存即可。当然,这一个是根据自己的需求来调整,每个人都不一样。

#nav-menu li {
    list-style: none;
    float: left;
}
//下面这个是要修改成这样
@media (max-width: 767px) {
    #nav-menu a {
        float: left;
        display: inline-block;
        margin: 0 -2px;
    }
最后更新 2024-06-06