在Category y.php中显示带有名称和描述的类别或子类别

时间:2014-09-15 作者:Marie_Fleischer

我向我的客户提出以下问题。有人能提出解决这个问题的可能方案吗?

此网站有类别和;子类别

Cat1
-Subcat1
-Subcat2
-Subcat3

Cat2
-Subcat1
-Subcat2
-Subcat3
我需要的是:

单击Cat1或Cat2时,我需要显示类似的内容:

  • 只要类别;子类别为帖子!(重要)
  • It should looks like this

    在点击这个子类别后,我必须能够生成一个包含所有来自这个子类别的帖子的页面。

    附言:如果你能告诉我怎么做就好了。以及如何将变量从类别中放入DIV中。php(get_the_title; 获取描述..)

    1 个回复
    SO网友:RachieVee

    据我所知,有一个父类别和子类别的列表,就像一个菜单。对于第一个屏幕截图:

    Cat1-SUBAT1-SUBAT2-SUBAT3

    Cat2-SUBAT1-SUBAT2-SUBAT3

    假设您只有两个级别的类别,您将使用它来显示您的类别。请注意,您可以在循环外部使用此选项:

    <ul class="category-sidebar">   
        <?php 
            $get_parent_cats = array(
                \'parent\' => \'0\' //get top level categories only
            ); 
    
            $all_categories = get_categories( $get_parent_cats );//get parent categories 
    
            foreach( $all_categories as $single_category ){
                //for each category, get the ID
                $catID = $single_category->cat_ID;
    
                echo \'<li><a href=" \' . get_category_link( $catID ) . \' ">\' . $single_category->name . \'</a>\'; //category name & link
                $get_children_cats = array(
                    \'child_of\' => $catID //get children of this parent using the catID variable from earlier
                );
    
                $child_cats = get_categories( $get_children_cats );//get children of parent category
                echo \'<ul class="children">\';
                    foreach( $child_cats as $child_cat ){
                        //for each child category, get the ID
                        $childID = $child_cat->cat_ID;
    
                        //for each child category, give us the link and name
                        echo \'<a href=" \' . get_category_link( $childID ) . \' ">\' . $child_cat->name . \'</a>\';
    
                    }
                echo \'</ul></li>\';
            } //end of categories logic ?>
    </ul><!--end of category-sidebar-->
    
    现在是第二个屏幕截图,我假设当您单击上面菜单中的父类别时,它将显示这样一个页面,其中包含每个子类别及其描述。

    请参阅我在评论中留下的教程,了解如何在类别中使用条件。php,基本上您将在归档中执行的操作是检查父类别是正在加载还是子类别。如果是子类别,则显示帖子循环;如果是父类别,则显示包含说明的子类别页面。下面是循环中子类别及其描述的代码:

           <?php 
            //for this category on an archive page, get the ID
            $thisID = get_query_var(\'cat\');
    
            $get_children_cats = array(
                \'child_of\' => $thisID //get children of this parent using the thisID variable from earlier
            );
    
            $child_cats = get_categories( $get_children_cats );//get children of this parent category
    
            foreach( $child_cats as $child_cat ){
                //for each child category, get the ID
                $childID = $child_cat->cat_ID;
    
                //for each child category, give us the link and name and description
                echo \'<div class="child-wrap"><h2><a href=" \' . get_category_link( $childID ) . \' ">\' . $child_cat->name . \'</a></h2><br/>\';
                echo \'<p>\' . $child_cat->category_description . \'</p></div>\';
            } //end of categories logic ?>
    
    我知道这是很多代码,但看起来你需要做很多事情,你唯一要做的就是让归档文件在第二个屏幕截图中显示帖子列表或页面。希望这比我之前提供的评论中的资源更有用。祝你好运

    结束

    相关推荐

    Get a list of categories ids

    我正在使用基于自定义帖子类型的过滤器制作一个公文包。该过滤器必须只显示公文包中显示的帖子的类别,因为用户可以在短代码中通过id指定它们-[公文包id=“1,2,3”],而我无法获得该类别id的列表。下面是一个简单的例子,说明我正在尝试做什么:来自快捷码的自定义帖子ID列表:$ids 相同ID的数组:$id_array = explode(\',\', $ids) 必须返回类别ID列表的感兴趣的变量:$cat_ids = ??? 接下来,我们只获取具有所需id的类别:$ca