フォーラム

[解決済み] 指定のカテゴリーの子カテゴリーを全て同じデザインにする (3 件の投稿)

  1. kiw
    メンバー
    7 ヶ月前の投稿 #

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

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

  2. jim912
    メンバー
    7 ヶ月前の投稿 #

    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;
    }
  3. kiw
    メンバー
    7 ヶ月前の投稿 #

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

返信

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

About this Topic