typecho获取当前分类栏目页面的mid值,多级分类ID获取教程

typecho获取当前分类栏目页面的mid值有很多种方法,最简单的方式

下方是文章内获取栏目id的代码

<?php echo $this->categories[0]['mid']; ?>

在一级分类,二级分类都可以直接获取到分类mid值,但是当一级分类存在多个二级分类的时候,这句代码就为空值,但是基本上很少有人用到,由于我这边在制作主题的时候需要获取mid值来判断当前的分类模板,所以需要到准确的mid值,因为我的解决方式是

先获取当前的分类页面下的slug值,也就是缩略命

<?php echo $this->getArchiveSlug(); ?>

这句代码能正常显示一级,二级,一二级的封面缩略名,然后再通过slug的字段去获取对应的mid的值,便获取到了正确的mid值,那么……

function categeid($slug){  //获取栏目id
   $db = Typecho_Db::get();
   $postnum=$db->fetchRow($db->select()->from ('table.metas')->where ('slug=?',$slug)->where('type=?', 'category'));
   return  $postnum['mid']; 
}

这样就直接获取到了当前分类下的mid值了,正常来说第一种方式已经满足了很多主题的基本需求,第二种只是相对完善齐全一点,或许还有其他更好的方式,以后发现了,再及时补上更新……

文章由官网发布,如若转载,请注明出处:https://www.dpaoz.com/1140
1 条评论
893

发表评论

嘿,我来帮您!