サポート » 使い方全般 » 指定のカテゴリーの子カテゴリーを全て同じデザインにする

  • 解決済 kiw

    (@kiw)


    • イベント情報
    • 1月
    • 2月
    • 3月
    • 4月
    • 5月
    • その他のカテゴリー
    • その他のカテゴリー

    たとえば上のような構成で、イベント情報カテゴリーの子カテゴリーとして、月ごとにカテゴリーを分けて、各月のイベント内容をそれぞれのカテゴリー一覧ページで表示したいというような場合、
    イベント情報の子カテゴリ(1月、2月~)は全て同じテンプレートで表示し、その他のカテゴリーはindex.phpなりで表示するには、同じ中身のcategory-**.phpを月ごとに全て作る以外に、何か一括で指定できる方法はありますでしょうか?

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

    (@jim912)

    kiwさん、こんにちは。

    記述いただいた構成ですと、指定カテゴリーが直上のカテゴリーですので、get_categoryでカテゴリーのデータを取得し、parentプロパティを照合することでも実現できますが、より応用範囲が広い方法として、多段階にも対応できるcat_is_ancestor_ofを使う方法を紹介してみたいと思います。

    cat_is_ancestor_ofは、2つの引数を指定する必要があり、第1引数に指定されたカテゴリーが第2引数にて指定されたカテゴリーの先祖にあたるかどうかを真偽値で返します。

    kiwさんの場合、イベント情報のカテゴリーIDが3だとして、イベント情報のテンプレートをevent_info.phpにて表示する場合、カテゴリーが表示されるテンプレートの最初に下記の様に記述すれば、イベント情報以下のカテゴリーではevent_info.phpにて表示され、それ以外では、デフォルトのテンプレートにて表示されるようになるかと思います。

    if ( cat_is_ancestor_of( 3, $cat ) ) {
    include( TEMPLATEPATH . 'event_info.php' );
    exit;
    }

    トピック投稿者 kiw

    (@kiw)

    教えていただいた方法でばっちり解決しました!
    非常に助かりました ありがとうございます!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「指定のカテゴリーの子カテゴリーを全て同じデザインにする」には新たに返信することはできません。