フォーラム

子カテゴリの記事を表示させないようにするには (5 件の投稿)

  1. kin@n-chu.net
    メンバー
    3 years前の投稿 #

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

  2. kbyscrftmn
    メンバー
    3 years前の投稿 #

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

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

  3. shokun0803
    メンバー
    3 years前の投稿 #

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

  4. yoshi
    メンバー
    3 years前の投稿 #

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

    <?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));
      }
    }
    ?>
  5. IKEDA Yuriko
    常連回答者
    3 years前の投稿 #

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

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

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

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

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

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

返信

ログイン しなければ投稿できません。

About this Topic