フォーラム

[解決済み] カスタム投稿のsingleページ内を条件分岐させたい (3 件の投稿)

  1. siwaki
    メンバー
    1 year前の投稿 #

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

    カスタム投稿でいくつかタームを作り、
    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. LVP8
    メンバー
    1 year前の投稿 #

    シングルページの場合はこちらを
    get_the_terms

  3. siwaki
    メンバー
    1 year前の投稿 #

    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様、ありがとうございました。

返信

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

About this Topic

Tags

タグ はまだありません。