J'ai le problème suivant pour mon client. Certains peuvent-ils suggérer une solution possible à ce problème?
Ce site a des catégories et des sous-catégories
Cat1
-Subcat1
-Subcat2
-Subcat3
Cat2
-Subcat1
-Subcat2
-Subcat3
CE DONT J'AI BESOIN:
Après avoir cliqué sur ces sous-catégories, je dois être capable de générer une page avec toutes les publications de cette sous-catégorie.
PS: Ce serait bien si vous pouviez me dire comment je pourrais le faire. Et comment je peux mettre la variable dans la DIV de mon category.php (get_the_title
; Get_the desciption ..)
D'après ce que j'ai compris, il existe une liste de catégories de parents et de sous-catégories, qui sont comme un menu. Pour votre première capture d'écran:
Cat1 -Subcat1 -Subcat2 -Subcat3
Cat2 -Subcat1 -Subcat2 -Subcat3
En supposant que vous n’ayez que deux niveaux de catégories, vous l’utiliserez pour afficher vos catégories. Notez que vous pouvez utiliser ceci en dehors de la boucle:
<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-->
Maintenant, pour votre deuxième capture d’écran, je suppose que lorsque vous cliquez sur une catégorie parente dans le menu ci-dessus, une page comme celle-ci apparaît avec chaque sous-catégorie et sa description.
Reportez-vous au tutoriel que j'ai laissé dans les commentaires pour utiliser des conditions dans le fichier category.php. Ce que vous ferez dans l'archive consiste essentiellement à vérifier si une catégorie parent est en cours de chargement ou une sous-catégorie. S'il s'agit d'une sous-catégorie, affichez une boucle de publications, s'il s'agit d'un parent, affichez les sous-catégories avec la page de description. Voici à quoi ressemblerait le code des sous-catégories et leurs descriptions dans la boucle:
<?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 ?>
Je sais que cela fait beaucoup de code, mais il semblerait que vous demandiez de faire plusieurs choses. La seule tâche à laquelle vous devez travailler est de faire en sorte que l'archive affiche la liste des publications ou votre page dans la deuxième capture d'écran. J'espère que cela aide mieux que les ressources dans les commentaires que j'avais fournis plus tôt. Bonne chance!