サポート » 使い方全般 » 子カテゴリの記事を表示させないようにするには

  • 検索してもなかなか解決策が見つからなかったので、質問させてい頂きます。
    カテゴリ表示のページで、デフォルトの設定だと当該カテゴリに属する記事とその子カテゴリに属する記事が時系列で表示されますが、子カテゴリの記事を表示させないようにするにはどうすればいいのでしょうか。
    どうぞよろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • すいません。
    返答ではなく同じ悩みを持つ者です。
    これだけ期間が空いても返信がないということは、やはり方法はないのでしょうか?
    それとも、初歩的すぎる内容なんでしょうか……?

    少しの手がかりだけでも構いませんので、ご存知の方はどうかよろしくお願いいたします。

    時間がないので試していないのですが、category.phpを作成してget_the_categoryなどで現在のカテゴリーIDを取得し、query_postsでコントロールとかでできませんかね。
    時間ができたら試してみますが、in_categoryだと親子関係を認識できないらしいので、上記のように予想してみました、試せるようなら試してみてください。

    こんな感じでいけるんじゃないでしょうか。

    <?php
    if (is_category()) {
      $current_cat = get_query_var('cat');
      if ($children = get_categories('child_of='.$current_cat)) {
        $exclude = array();
        foreach ($children as $child)
          $exclude[] = $child->term_id;
          query_posts(array('cat'=>$current_cat, 'category__not_in' => $exclude));
      }
    }
    ?>
    モデレーター IKEDA Yuriko

    (@lilyfan)

    そもそも、親子関係を解除してしまうのはダメなんでしょうか。

    もしくは、子カテゴリーに並列に「その他」カテゴリーを作って、親カテゴリーに属する記事をそちらに移動してしまう手もあります。

    例えば、元々「コンピューター」カテゴリー (記事数97) があって、そこで WordPress 関連記事が増えてきたため、子カテゴリーとして「WordPress」カテゴリー (記事数27) を作って分離したとします。

    コンピューター (97)
    └WordPress (27)

    この場合、コンピューターカテゴリーのアーカイブを出すと、WordPress カテゴリーの記事も含まれてしまうので、困るということですよね。
    以下のように、「コンピューターその他」カテゴリーを作って、残りの記事を移動させてしまうと、「コンピューターその他」カテゴリーを使うことで、希望の動作になるのではないでしょうか。

    コンピューター (97)
    ├コンピューターその他 (70)
    └WordPress (27)

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「子カテゴリの記事を表示させないようにするには」には新たに返信することはできません。