3

だから私はワードプレス内のループに関してこの問題を抱えています。
私のサイトには次の構造があります。

  • 親カテゴリ1
    • 子カテゴリ1
    • 子カテゴリ2
  • 親カテゴリー2
    • 子カテゴリ1
    • 子カテゴリ2
      • 投稿Cat2.1
      • ポストCat2.2
    • 投稿1
    • 投稿2

この場合、「親カテゴリ2」には子カテゴリと投稿があります。「親カテゴリページ」に表示する必要があるのは、子カテゴリとその投稿であり、子カテゴリの投稿はありません。
私はいたるところを見てきましたが、間違って検索していたようです。どんな助けでも大歓迎です。

4

1 に答える 1

0

これが役立つと思います:

$cat_id = get_query_var('cat');

if( ! empty( $cat_id ) ) {
$category = get_category( $cat_id, ARRAY_A );

if( ! empty( $category ) ) {
    // parent category
    if( $category['parent'] === '0' ) {

        // get child IDs
        $terms = get_term_children( $cat_id, 'category' );

        foreach( $terms as $term_id ) {
            $child_category = get_term( $term_id, 'category' );

            // if you need the category
            $category_name = $child_category->name;


            /**
             * Sample data in your child category object: 
             * 
             * object(stdClass)[365]
                      public 'term_id' => string '14' (length=2)
                      public 'name' => string 'Child 1' (length=7)
                      public 'slug' => string 'child-1' (length=7)
                      public 'term_group' => string '0' (length=1)
                      public 'term_taxonomy_id' => string '14' (length=2)
                      public 'taxonomy' => string 'category' (length=8)
                      public 'description' => string '' (length=0)
                      public 'parent' => string '12' (length=2)
                      public 'count' => string '5' (length=1)
                      public 'object_id' => string '33' (length=2)
             * 
             * 
             */

            // do whatever you like with the categories now...
        }

    } else { // in child category
        // do the regular loop here, if ( have_posts() ) ...
    }
 }
}

こちらにも掲載されています

それがあなたを助けることを願っています:)

于 2013-06-03T07:07:13.847 に答える