我正在对当前正在处理的主题进行一些更新。
我已经将一组下面有自定义帖子项的类别移动到一个父类别中,该类别都在自定义分类中。
e、 g.:
Parent Category
-Child Category
--Item
--Item
--Item
-Child Category
--Item
--Item
-Child Category
--Item
--Item
--Item
我可以在
taxonomy-custom-tax-name.php
页面,但当我单击父类别的链接时,它列出了与子类别关联的所有项目,而不仅仅是子类别本身。
e、 g.:
--Item
--Item
--Item
--Item
--Item
...etc.
我正在尝试获取它,因此它只列出子类别,并提供一个链接,然后转到包含该类别所附项目的页面:
e、 g.:
-Child Category
-Child Category
-Child Category
-Child Category
我当前正在自定义分类页面上使用此循环:
<?php global $query_string;
query_posts( $query_string . \'&posts_per_page=-1\' ); if (have_posts()) : while (have_posts()) : the_post(); ?>
我不确定是否需要更改循环语句,或者是否需要创建
if else
案件陈述?
我已经尝试过创建单独的自定义分类页面,以及使用父类别名称创建单独的类别页面,但它仍然没有按照我尝试的方式工作。
我希望这是有意义的。这是我第一次真正深入到自定义分类法中,所以我试图了解一下逻辑,似乎有不止一种方法可以让所有内容正确显示。
SO网友:Sneha Parmar
<?php
$categories = get_categories(); // Current Category will retrive
foreach ( $categories as $category ) {
$cat = $category->name; // Parent Category name
$category = get_category_by_slug( $cat );
$args = array(
\'type\' => \'post\',
\'child_of\' => $category->term_id,
\'orderby\' => \'name\',
\'order\' => \'ASC\',
\'hide_empty\' => FALSE,
\'hierarchical\' => 1,
\'taxonomy\' => \'category\',
);
$child_categories = get_categories($args );
$category_list = array();
$category_list[] = $category->term_id;
if ( !empty ( $child_categories ) ){ // If child Category available
foreach ( $child_categories as $child_category ){ // Print Child Category
$category_list[] = $child_category->term_id;
echo "main cat:". $cat; echo "sub cat:". $child_category->cat_name."<br/>";
}
}
}
粘贴到php文件以获取子类别。。。