サポート » 使い方全般 » カスタム投稿のsingleページ内を条件分岐させたい

  • 解決済 siwaki

    (@siwaki)


    お世話になっております。

    カスタム投稿でいくつかタームを作り、
    singleページ内でタームごとに条件分岐させて表示を変えたいと思っています。

    現状としましては、
    ・カスタムポストタイプを「test」とする
    ・タームとして「aaa」、「bbb」を作成
    ・single-test.phpを作成
    としました。

    taxonomy.phpでは、

    <?php
    $term = get_term_by(
        'slug',
        get_query_var('term'),
        get_query_var('taxonomy')
    );
    ?>

    と指定したあと、
    <?php if($term->slug === 'aaa'): ?>
    のような感じで記述すると、ちゃんと条件分岐されます。
    singleページだと同じ記述をしても$termが表示されないため、条件分岐ができません。
    どなたかご教授いただけないでしょうか。
    よろしくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • シングルページの場合はこちらを
    get_the_terms

    LVP8様お返事ありがとうございます。
    思い通りの条件分岐が実現できました!
    以下、他の方のご参考までにソースを書いておきます。
    (タクソノミーを「testCat」、タームを「aaa」,「bbb」とした場合)

    <?php if(have_posts()): while(have_posts()): the_post(); ?>
    <?php
      $postID = get_the_ID();
      $terms = get_the_terms($postID,'testCat');
      foreach ( $terms as $term ) {
        $tslug = esc_html($term->slug);
      }
    ?>
    <?php endwhile; endif; ?>
    <?php if($tslug === 'aaa'): ?>
      ・・・
    <?php elseif($tslug === 'bbb'): ?>
      ・・・
    <?php endif; ?>

    以上です。
    LVP8様、ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カスタム投稿のsingleページ内を条件分岐させたい」には新たに返信することはできません。