deepthan/Front-end-resource-collection

wordprss里面分别怎么取出父子分类信息

deepthan opened this issue · 0 comments

问题: 一级分类下面还有若干个子分类,如果点击一级分类,在本页里the_category()函数会把所有分类名字都取出来,那么怎么才能点击一级分类只显示取得一级分类信息,点击子分类只会取得子分类信息呢?

	<?php
		$current = "";
		$showParent  = false;
		if(is_single()){
			$parent = get_the_category();
			$parent = $parent[0];
			$current = "&current_category=".$parent->term_id;
		}else if(is_category()){
		    // 如果是子分类那么会进这个分支
			global $cat;
			$parent = get_category($cat);
		}
		if($parent->category_parent != 0){
			$showParent = false;
			$cat_id = $parent->category_parent;
			$parent = get_category($cat_id);
			if($parent->category_parent != 0){
				$cat_id = $parent->category_parent;
			}else{
				$cat_id = $parent->term_id;
			}
		}else{
		   // 如果是父分类那么会进这个分支
			$cat_id = $parent->term_id;
			$showParent = true;
		}
	?>

由上可定义一个变量,如果是子分类则为false,如果是父分类则是true。
再根据此布尔值进行显示父级分类信息或子分类信息。

<?php if(!is_page() && $showParent) { ?>
	<h3><?php echo $parent->cat_name; ?></h3>
<?php } else{ ; ?>
	<h3><?php the_category(', ') ?></h3>
<?php }; ?>