网站首页 » 代码技巧 » 只显示分类目录以及分类目录、独立页面一起显示在typecho导航栏的办法

只显示分类目录以及分类目录、独立页面一起显示在typecho导航栏的办法

April 23, 2020 代码技巧

目前typecho博客的使用者有一大部分是国人,相当于国外的开发者和使用者来说,咱们国人有着自己的阅读和使用习惯,比如关于typecho的导航菜单,我们就习惯于分类目录单独显示在导航栏,或者和独立页面一起显示在导航栏,但是typecho的默认主题导航菜单部分调用的是独立页面,下面,我们尝试分别用代码解决这个问题。

第一种情形:导航栏只显示分类目录

实现办法和步骤
第一步:在主题的header.php文件中找到代码:

<?php $this->widget('Widget_Contents_Page_List')->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; ?>

第二步,将上面的代码进行修改

<?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; }?>

第三步,保存以上代码并运行,实现导航栏只显示分类目录

第二种情形:分类目录和独立页面都显示在导航栏菜单

第一步:在主题的header.php文件中找到以下代码:

<?php $this->widget('Widget_Contents_Page_List')->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; ?>

第二步:将下面的代码添加到第一步的代码中:

<?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; }?>

最后,保存并运行,实现分类目录和独立页面都显示的效果

添加新评论