サポート » 使い方全般 » 複数のカテゴリー毎にテンプレートを変更

  • kemusi

    (@kemusi)


    下記のコードの条件分岐でカテゴリー毎のテンプレートを変えているのですが
    なぜかうまく取得できないでいます。
    子のカテゴリー(ここでは、brm-tops,brm-tshits,anti-tops,anti-tshirts)が
    すべてcategory-brm.phpを読み込んでしまいます。

    原因はどこにあるのでしょうか?

    ご教授お願いします。

    <?php
    $post = $wp_query->post;
    if ( in_category(array( 'tedman' )) ) {
    include(STYLESHEETPATH.'/category-ted.php');
    }elseif ($category_name = 'brm,brm-tops,brm-tshirts') {
        include(TEMPLATEPATH.'/category-brm.php');
    }elseif ($category_name = 'anti,anti-tops,anti-tshirts') {
        include(TEMPLATEPATH.'/category-anti.php');
    } else {
    include(STYLESHEETPATH.'/category-default.php');
    }
    ?>
3件の返信を表示中 - 1 - 3件目 (全3件中)
  • モデレーター jim912

    (@jim912)

    = だと代入なので、常に結果が真になります。
    比較の場合は、== です。

    トピック投稿者 kemusi

    (@kemusi)

    jim912様

    ご教授いただいたコードで試してみましたが、
    今度は子のカテゴリー(brm-tops,brm-tshirts,anti-tops,anti-tshirts)が
    category-default.phpを読み込んでしまいます・・・。

    <?php
    $post = $wp_query->post;
    if ( in_category(array( 'tedman' )) ) {
    include(STYLESHEETPATH.'/category-ted.php');
    }elseif ($category_name == 'brm,brm-tops,brm-tshirts') {
        include(TEMPLATEPATH.'/category-brm.php');
    }elseif ($category_name == 'anti,anti-tops,anti-tshirts') {
        include(TEMPLATEPATH.'/category-anti.php');
    } else {
    include(STYLESHEETPATH.'/category-default.php');
    }
    ?>
    x743

    (@x743)

    $category_nameにはどんな値が入っていますか?

    子カテゴリの名前(slug?)が入っていているとすると、

    }elseif ($category_name == 'brm' || $category_name == 'brm-tops' || $category_name == 'brm-tshirts') {
        include(TEMPLATEPATH.'/category-brm.php');
    }
    

    で大丈夫だと思います。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「複数のカテゴリー毎にテンプレートを変更」には新たに返信することはできません。