web-dev-qa-db-ja.com

Category.phpに名前と説明を含むカテゴリまたはサブカテゴリを表示する

お客様には以下の問題があります。この問題に対する可能な解決策を示唆するものはありますか?

このウェブサイトはカテゴリとサブカテゴリを持っています

Cat1
-Subcat1
-Subcat2
-Subcat3

Cat2
-Subcat1
-Subcat2
-Subcat3

私が必要としているもの:

  • Cat1またはCat2をクリックしたら、次のように表示する必要があります。
  • 投稿と同じカテゴリとサブカテゴリまでこの操作を繰り返します。 (重要)

It should looks like this

このサブカテゴリを調べた後、このサブカテゴリからすべての投稿を含むページを生成できなければなりません。

シモンズ:どうすればいいのか私に言うことができればうれしいです。そしてどのように私は私のcategory.phpからDIVに変数を置くことができますか(get_the_title; Get_the desciption ..)

1
Marie_Fleischer

私が理解していることから、メニューのようなものである親カテゴリとサブカテゴリのリストがあります。あなたの最初のスクリーンショットの場合:

Cat1 -Subcat1 -Subcat2 -Subcat3

Cat2 -Subcat1 -Subcat2 -Subcat3

2つのレベルのカテゴリしかないと仮定すると、これを使用してカテゴリを表示します。ループの外でこれを使用できることに注意してください。

<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-->

2番目のスクリーンショットでは、上記のメニューから親カテゴリをクリックすると、各サブカテゴリを含むそのようなページと説明が表示されます。

Category.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 ?>

私はこれがたくさんのコードであることを認識しています、あなたがあなた自身で取り組まなければならない唯一の仕事が2番目のスクリーンショットで記事のリストかあなたのページを表示することです。これが、私が以前に提供したコメントのリソースよりも役立つことを願っています。がんばろう!

2
RachieVee