WordPress获取当前分类的顶级分类ID
在开发吃货主题Chihuo时,要对产品和文章进行筛选,在一级分类下显示所有一级分类和当前一级分类下的所有二级分类,在二级分类下,显示所有一级分类和当前二级分类下的所有三级分类,依次按级显示分类。分类级别的判断稍复杂,判断当前分类属于一个什么层级,通过获取顶级分类和当前分类ID来判断,当前分类ID是否等于顶级分类,当前分类是否有子分类等条件来判断,所以顶级分类的判断是相当重要。
添加如下代码到主题functions.php文件中:
- //获取顶级分类ID
- function salong_category_top_parent_id ($current_cat_ID) {
- while ($current_cat_ID) {
- $cat = get_category($current_cat_ID); // get the object for the catid
- $current_cat_ID = $cat->category_parent; // assign parent ID (if exists) to $current_cat_ID
- // the while loop will continue whilst there is a $current_cat_ID
- // when there is no longer a parent $current_cat_ID will be NULL so we can assign our $catParent
- $catParent = $cat->cat_ID;
- }
- return $catParent;
- }
获取顶级分类ID:
- echo salong_category_top_parent_id ($current_cat_ID);
$current_cat_ID
为当前分类的ID,在调用此代码的文件中需要获取。
分类级别的判断暂不知道WordPress有没有这样的函数,不过通过当前代码就可以很方便的来判断分类的层级。