WordPress 親カテゴリーに子を表示させない

本田の先制ゴールを見届けてから寝たYu-ichiです:neko:

主審の名前が「デーモン」さんだったのが気になってます:hamster_4:

さて、Wordpressネタで攻めていきますが

カテゴリーで階層を作ったときに、親カテゴリーをクリックすると子の記事まで表示されます。

逆に、子カテゴリーをクリックすると親の記事は表示されません。:cat_5:

当たり前といえば当たり前なのですが・・・。:cat_6:

今回は親カテゴリーをクリックしたときに、親カテゴリーの記事だけ表示され、子の記事が表示されないようにするカスタマイズをご紹介したいと思います。

:nikukyu:カスタマイズ方法】

利用しているテンプレートの「category.php」をエディタで開きます。

if( have_posts() )という記述を探して、それより前に以下の記述を追加します。:kaoemoji3:

———-

if ( is_category() ) {

    $cat = get_query_var( ‘cat’ );

    $paged = get_query_var( ‘paged’ );

    query_posts( array( ‘category__and’ => array( $cat ), ‘paged’ => $paged ) );

}

———-

これで子の記事を含まないかたちで親カテゴリーを表示することができるはずです。

テストではバッチリでした:wa-i:

これでまた一歩WordpressがCMSとして使えるようになった気がします。:neko:

WordPressもなかなかやりますね:kaomoji7:

W杯日本が勝てるように(?)ブログランキングのクリックお願いします:kaomoji6:

:onegai: :yubiright: :yubileft:

—–
追記(2010/10/01)
—–

コメントを頂いた件ですが、以下の変更をお試しください。

archive.php 【62行目】あたり

<?php <div id=”entry-<?php the_ID(); ?>” class=”entry-asset asset hentry”> ?>

の記述の上に以下をコピーしてください。
(コピーした際に、「」が全角になってしまうので、半角に修正してください。)

<?php
if ( is_category() ) {
$cat = get_query_var(cat );
$paged = get_query_var( paged);
query_posts( array( category__and => array( $cat ), paged=> $paged ) );
}
?>

一部の外部テンプレートを使用する場合、「category.php」が存在しなかったり
他のファイル(archive.phpなど)を引用している場合があるようです。

その際には、引用元(archive.php)を編集したり、コピーして「category.php」にリネームする必要があります。

トラックバックURL

12 thoughts on “WordPress 親カテゴリーに子を表示させない

  1. wp素人 より:

    すみません。まったくの素人のものです。
    まさに「親カテゴリーに子カテゴリーを表示させない」ようにしたいとおもい、こちらにたどり着きました。

    書かれているとおりに
    追加しても、状況が変わりません。

    お忙しいことと思いますが
    もし、お気づきの点があれば教えて頂ければと思い
    投稿いたします。

    テンプレートキングというHPのテンプレートを使用しています。
    そこの
    w_category_archive_list.php
    の中味に、追加しました。

    ———————————–

     ※※※ここの部分に書き込みました。※※※

    $include)); ?>

    <a href="”>

    該当する投稿は見つかりませんでした。

    —————————————————

    もしよろしければコメント頂ければ幸いです。

  2. wp素人 より:

    (上のコメントについて)
    ごめんなさい。

    w_category_archive_list.php

    の中味をコピーしましたが
    コメントには、載せることができないんですね。

  3. Yu-ichi より:

    >wp素人様
    コメントありがとうございます :neko:
    申し訳御座いません。コメント欄ではソースをコピーできないようになっております。

    さて、本題ですが「w_category_archive_list.php」というファイルはこちらで持っているテンプレートにはなく、内容が分かりかねます。
    状況が変わらないとのことですが、エラーが表示されたり、文字化けしていたりなどしていませんでしょうか?

    よろしければWordpressのバージョンとお使いのテンプレートを教えていただければ、もう少し具体的なアドバイスをさせていただくことができるかもしれません。

    よろしくお願い致します。

  4. wp素人 より:

    お忙しい中、コメントありがとうございます。
    テンプレートは
    テンプレートキングのテンプレートで
    ダウンロードのアドレスは
     ttp://www.templateking.jp/mt/website/biyou/fsv001mtcb2.html
    となります。
     (最初の h を とってみました。)

    ヒントでも頂ければ幸いです。
    wordpressは、3.0.1 の バージョンです。

    よろしくお願いします。

  5. Yu-ichi より:

    >wp素人様
    ご連絡ありがとうございます :neko:
    さて、テンプレートを拝見させていただきましたところ
    カテゴリーを表示している箇所が「archive.php」というファイルを使っているようです。

    :nikukyu: 編集箇所につきましては、記事のほうに追記という形で掲載いたしましたので、そちらをご参考ください。

    :nikukyu: 注意点としては、「archive.php」でアーカイブ(日付別)とカテゴリーのページを作っているので、そのまま変更した場合、アーカイブページも同じ表示になります。
    アーカイブと別にしたい場合は、「archive.php」をコピーし、「category.php」にリネームして編集してみてください。

  6. wp素人 より:

    早速の、コメントありがとうございます。
     お礼が遅れてしまい申し訳ありません。

    教えて頂いた方法を、早速試してみようと思います。

    わざわざテンプレートの中味まで調べて頂いた上での
    ご回答、本当にありがとうございます。

    ・・・・・素人の私にできるか少々不安ですが
         とりあえずやってみたいと思います!!
    ありがとうございます。

  7. Yu-ichi より:

    いえいえ、WPを扱う者としてお互いがんばりましょう :ganba:

    記事中にも書きましたが、そのままコピーすると「’」が全角になってしまうようなので、半角に直してください。
    それと、保存するときは文字コード等に気をつけてください。

  8. 匿名 より:

    :epuron: :ecoemoji1: :ecoemoji2: :e-mail: :dog: :dekimasita: :crown: :cry: :dash: :dekimasita: :kaoemoji5: :kaomoji1: :newyear: :neko: :naku:

  9. Clara より:

    厚かましい質問なのですが、サイドバーのカテゴリーの表示の仕方なのですが、

    WPの標準では親カテゴリーに1件のみ、子カテゴリーに別の記事が1件のみの場合で記事数を表示する設定にしていた場合、

    親カテゴリー(2)
      子カテゴリー(1)

    と表示されますが、これを

    親カテゴリー(1)
      子カテゴリー(1)

    のように子カテゴリーの投稿數を親カテゴリーに含めないようにするにはどうしたらいいでしょうか。

  10. Yu-ichi より:

    >Clara様

    コメント有難うございます。 :kaomoji7:
    Wordpressのバージョンは何をお使いでしょうか?

    使用しているテーマによっては、難しい場合があります。。。

  11. Clara より:

    お返事ありがとうございます。

    WPのバージョンは3.2.1
    テーマはChrisHappensです。

    非常にシンプルな構成のテーマで、ChrisHappensのフォルダにあるファイル数は通常のテーマに比べて非常に少ないです。

    できるだけ解決しようとしましたが、私にはわかりませんでした。

  12. Yu-ichi より:

    >Clara様

    詳細ありがとうございます。 :neko:
    ここではソースが書けませんので、記事にしてみました。
    https://www.netimpact.co.jp/diary/12723/

    よろしければお試しください。 :kaomoji7:

コメントを残す

メールアドレスが公開されることはありません。