お客様には以下の問題があります。この問題に対する可能な解決策を示唆するものはありますか?
このウェブサイトはカテゴリとサブカテゴリを持っています
Cat1
-Subcat1
-Subcat2
-Subcat3
Cat2
-Subcat1
-Subcat2
-Subcat3
私が必要としているもの:
このサブカテゴリを調べた後、このサブカテゴリからすべての投稿を含むページを生成できなければなりません。
シモンズ:どうすればいいのか私に言うことができればうれしいです。そしてどのように私は私のcategory.phpからDIVに変数を置くことができますか(get_the_title
; Get_the desciption ..)
私が理解していることから、メニューのようなものである親カテゴリとサブカテゴリのリストがあります。あなたの最初のスクリーンショットの場合:
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番目のスクリーンショットで記事のリストかあなたのページを表示することです。これが、私が以前に提供したコメントのリソースよりも役立つことを願っています。がんばろう!