typecho不显示(隐藏)某个特定分类

typecho不显示(隐藏)某个特定分类

最近在对钛导航进行改版,需要实现不显示某个特定分类的功能,查看typecho官方文档毫无头绪,在网上查询到的代码也无法实现隐藏分类功能,最后误打误撞实现。

typecho现有的输出所有分类

 $this->widget('Widget_Metas_Category_List')

网上查到的相关代码,其中ignore表示要隐藏的分类mid

$this->widget('Widget_Metas_Category_List','ignore=1')

但通过上面的代码无法实现隐藏功能,查看系统文件,最后在/var/Widget/Metas/Category/Edit.php中看到了下面这段代码

/** 父级分类 */
$options = array(0 => _t('不选择'));
$parents = $this->widget('Widget_Metas_Category_List@options', 
    (isset($this->request->mid) ? 'ignore=' . $this->request->mid : ''));

while ($parents->next()) {
    $options[$parents->mid] = str_repeat('    ', $parents->levels) . $parents->name;
}

这代码看着很熟悉有木有,上面有个@options的字符串不知道是啥,毕竟PHP盲,尝试把@options加进去,KO,搞定!

最后的代码

<?php $this->widget('Widget_Metas_Category_List@options','ignore=1')->to($categories); ?>
最后修改:
赞赏支持
最大的开心,莫过于你请我吃辣条

已有 3 条评论

  1. 夏目贵志 夏目贵志 118天前

    .... 原来可以这样 mark 转载~

  2. Alone88 Alone88 129天前

    博主是PHP盲吗,Hhh

    1. SEOGO运营狗 SEOGO运营狗勃主 129天前

      人艰不拆-_-#