複雑なタイトルで申し訳ありません。
私はこのコードを使用して、サブ子カテゴリとその下の投稿を表示しています。問題は、コードがサイトにあるすべてのサブ子カテゴリ (+ 投稿) を表示していることです。投稿に関連するサブカテゴリのみを表示したい。子 1 の下のサブ子カテゴリはすべて投稿に関連しているため、投稿が子オンに関連しているため、子オンの下にサブ子カテゴリを表示したいということができます。
カテゴリ構成 (年はタイトルにあります):
- G
- 子 1
- ゲーム1年
- 投稿はこちら
- ゲーム2年目
- 投稿はこちら
- ゲーム1年
- 子 1
私のコード:
<?php
$cat_id = get_query_var( 'cat' );
$subcats = get_categories( 'child_of=' . $cat_id ); // child categories
class Cat_Walker extends Walker_Category {
function end_el( &$output, $page, $depth = 0, $args = array() ) {
$posts = get_posts( 'cat=' . $page->term_id );
if ( sizeof( $posts ) > 0 ) {
$output .= '<ul>';
foreach ( $posts as $post ) {
$output .= sprintf( '<li><a href="%1$s">%2$s</a></li>', get_permalink( $post->ID ), $post->post_title );
}
$output .= '</ul>';
}
$output .= '</li>';
}
}
foreach ( $subcats as $subcat ) {
$subsubcats = get_categories( 'child_of=' . $subcat->term_id ); // sub child categories
foreach ( $subsubcats as $subsubcat ) {
$args = array(
'title_li' => '',
'show_option_none' => '',
'taxonomy' => 'category',
'child_of' => $subsubcat->term_id,
'walker' => new Cat_Walker( )
);
wp_list_categories( $args );
}
}
?>
何か案は?
前もって感謝します!