Drzewo kategorii i podkategorii oraz tytuły postów (custom post type)
-
Mam taki oto problem – Zrobiłem stronę używając Custom Post Type. Utworzyłem kategorie wraz z podkategoriami i dodałem do nich posty. Teraz na jednej stronie chcę to wszystko pokazać. Poniższy kod wyrzuca mi wszystko ale nie do końca tak jakbym chciał, otóż jest problem z nadrzędnymi kategoriami ponieważ ten skrypt wyrzuca wszystkie posty należące też do podkategorii zawartych w poszczególnych kategoriach nadrzędnych. Gdyby to były zwykłe wpisy można by użyć funkcji in_category żeby ograniczyć wynik zapytania tylko do kategorii nadrzędnej (bez postów w podkategoriach) ale to są Custom Post Type i tu ta funkcja nie działa. Jak zastąpić funkcję in_category w tych Custom Post Typach??
Poniżej mój kod:
<?php $categories = get_terms('kategoria-pozycji',array('parent' => 0 , 'hide_empty'=> '0' )); foreach ( $categories as $category ) { if ( $category->parent > 0 ) { continue; } $i = 0; echo '<h1 style="font-weight:bold">' . $category->name . '</h1>'; $posts = get_posts( array( 'kategoria-pozycji' => $category->name, 'post_type' => 'biblioteka' ) ); echo '<ul>'; foreach ( $posts as $post ) { $child_categories = get_term_children( $category->term_id, 'kategoria-pozycji' ); if ( $child_categories && in_category( $child_categories, $post->ID ) ) { continue; } setup_postdata($post); echo '<li>'; the_title(); echo '</li>'; } echo '</ul>'; $categories2 = get_terms('kategoria-pozycji',array('parent' => $category->term_id , 'hide_empty'=> '0' )); foreach ( $categories2 as $category ) { $j = 0; echo '<h2>' . $category->name . '</h2>'; $posts = get_posts( array( 'kategoria-pozycji' => $category->name, 'post_type' => 'biblioteka' ) ); echo '<ul>'; foreach($posts as $post) : setup_postdata($post); echo '<li>'; the_title(); echo '</li>'; endforeach; echo '</ul>'; } } ?>
Temat ‘Drzewo kategorii i podkategorii oraz tytuły postów (custom post type)’ jest zamknięty na nowe odpowiedzi.