• WordPress超初心者で、カテゴリー一覧ページで子カテゴリー記事を4点ずつ紹介をしていますが、孫カテゴリーはリンクで別ページで紹介したいと思っています。
    しかし、下記のコードでは孫カテゴリーもすべて表示されてしまいます。
    どのようにしたらいいのでしょうか。
    よろしくお願い致します。

    <?php
    $catId = get_query_var( ‘cat’ );//カテゴリーID
    $children = get_terms( ‘category’, array( ‘child_of’ => $catId, ‘fields’ => ‘ids’ ) );
    foreach ( $children as $child ) ://子のカテゴリーがあるだけ繰り返します。
    query_posts(‘cat=’.$child.’&posts_per_page= 4′);
    ?>

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • モデレーター jim912

    (@jim912)

    get_terms は、child_of ではなく parentに、query_posts は、cat ではなく category__in を使ってみてください。

    トピック投稿者 kazu1122

    (@kazu1122)

    教えていただいた通り、以下のようにしましたらちゃんと表示できました。
    大変ありがとうございました。感謝!感謝!です。
    また教えていただくことがあるかもしれませんが、よろしくお願い致します。

    <?php
    $catId = get_query_var( ‘cat’ );//カテゴリーID
    $children = get_terms( ‘category’, array( ‘parent’ => $catId, ‘fields’ => ‘ids’ ) );
    foreach ( $children as $child ) ://子のカテゴリーがあるだけ繰り返します。
    query_posts(‘category__in=’.$child.’&posts_per_page= 4′);
    ?>

    モデレーター jim912

    (@jim912)

    あ、すみません。

    category__in は配列で指定する必要があるので

    query_posts( array( 'category__in' => array( $child ), 'posts_per_page' => 4 ) );

    になるはずです。

    トピック投稿者 kazu1122

    (@kazu1122)

    再三のご教授ありがとうございます。
    なんか、最初のコードでもちゃんと表示されていたみたいですが・・・
    超初心者なのでよく分かりません。

    ちなみに現在4つずつ子カテゴリーが上から順番に並んでいるのですが、
    おそらくその順番はカテゴリーID順だと思いますが・・・
    順番を変えるためには、一度削除して再度同じカテゴリーを
    登録し直さなければならないのでしょうか。

    モデレーター jim912

    (@jim912)

    カテゴリーの順番ではなく、表示されている記事が正しく子カテゴリーのものとなっているかどうかになります。

    query_posts, WP_Query, get_posts で指定するパラメーターの中には、配列形式で指定するものがあり、category__in はそのうちの1つです。
    複数のパラメーターを & で結合して指定する形式では、この配列形式での指定ができませんので、category__in の指定が正しく反映されていない可能姓があるということです。

    トピック投稿者 kazu1122

    (@kazu1122)

    申し訳ありません。勉強不足でよく意味がわかりません。

    「記事が正しく子カテゴリーのものになっているか」とは、どういうことでしょうか。
    現在のそれぞれ記事が各子カテゴリーに割り振られていますが、
    ちゃんとカテゴリー登録されていますけど・・・。
    それだけでは何か問題があるでしょうか。

    結局、カテゴリーの表示順を変えることはできるのでしょうか。

    おそらく超初歩的なことが分かってないと思うのですが・・・申し訳ありません。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「カテゴリー一覧ページで子カテゴリーだけを表示させて孫カテゴリーは表」には新たに返信することはできません。