WordPress – Lista podkategorii i podkategorii podrzędnych, z postami
![WordPress – Lista podkategorii i podkategorii podrzędnych, z postami](https://oen.pl/wp-content/uploads/2023/01/apple-touch-icon@2.png)
WordPress Development Stack Exchange to strona z pytaniami i odpowiedziami dla programistów i administratorów WordPress. Rejestracja zajmuje tylko minutę.
Zarejestruj się, aby dołączyć do tej społeczności
Każdy może zadać pytanie
Każdy może odpowiedzieć
Najlepsze odpowiedzi są głosowane i wznoszą się na szczyt
Spytał
Oglądane2k razy
Mam następujący kod. Pozwala mi wyświetlać podkategorie i dokumenty w nich zawarte. Chodzi o to, że podkategoria może zawierać dalsze podkategorie. Poniższy kod pokaże dokumenty należące do kategorii podrzędnej (wnuków) na poziomie podrzędnym (nadrzędnym).
Czy ktoś może rzucić światło na to, jak rozwiązać ten problem, aby dokument był wyświetlany tylko pod kategorią, w której się znajduje? Ponadto podkreślając, czym jest kategoria podrzędna (wnuk)? Wszystkie tytuły postów powinny być powiązane z postem
<?php
$categories = get_categories('child_of=34');
foreach ($categories as $category) {
//Display the sub category information using $category values like $category->cat_name
echo '<h3>'.$category->name.'</h3>';
echo '<ul>';
foreach (get_posts('cat=".$category->term_id) as $post) {
setup_postdata( $post );
echo "<li><a href="'.get_permalink($post->ID).'">'.get_the_title().'</a></li>';
}
echo '</ul>';
}
?>
A więc coś takiego
- Podkategoria 1
- Podkategoria 2
- Sub Sub Cat 1
- Sub Sub Cat 2
Spróbuj tego :
<!-- Category Archive Start -->
<ul class="catArchive">
<?php
$catQuery = $wpdb->get_results("SELECT * FROM $wpdb->terms AS wterms INNER JOIN $wpdb->term_taxonomy AS wtaxonomy ON ( wterms.term_id = wtaxonomy.term_id ) WHERE wtaxonomy.taxonomy = 'category' AND wtaxonomy.parent = 0 AND wtaxonomy.count > 0");
$catCounter = 0;
foreach ($catQuery as $category) {
$catCounter++;
$catStyle="";
if (is_int($catCounter / 2)) $catStyle=" class="catAlt"";
$catLink = get_category_link($category->term_id);
echo '<li'.$catStyle.'><h3><a href="'.$catLink.'" title="'.$category->name.'">'.$category->name.'</a></h3>';
echo '<ul style="margin-left:15px;">';
query_posts('category__in='.$category->term_id.'&showposts=5');?>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
<li><a href="<?php echo $catLink; ?>" title="<?php echo $category->name; ?>">More <strong><?php echo $category->name; ?></strong></a></li>
<li> <?php
$sub_cat_id = $category->term_id;
$get_sub_args = array('child_of' =>$sub_cat_id);
$categories_arr = get_categories($get_sub_args);
//print_r ($categories_arr);
foreach ($categories_arr as $sacategory) {
//Display the sub category information using $category values like $category->cat_name
echo '<h2>'.$sacategory->name.'</h2>';
echo '<ul style="margin-left:15px;">';
foreach (get_posts('cat=".$sacategory->term_id) as $post) {
setup_postdata( $post );
echo "<li><a href="'.get_permalink($post->ID).'">'.get_the_title().'</a></li>';
}
echo '</ul>';
}
?></li>
</ul>
</li>
<?php } ?>
</ul>
<!-- Category Archive End -->
</div>
2
domyślny