サポート » 使い方全般 » カスタム投稿のシングルページでサイドバーの表示を切り替えたい

  • 解決済 shintax

    (@shintax)


    お世話になります。

    カスタム投稿ページの詳細ページ(シングルページ・single-AAAA.php)にて、
    カテゴリー別にサイドバーの表示を切り替えたいと思っています。

    カテゴリー(ターム)A,Bとありまして、
    Aのときはサイドバー1
    Bのときはサイドバー2

    と言った感じです。

    すでにサイドバーはそれぞれ作成して、直接指定してあげれば表示はされます。

    そこで条件分岐をして表示を考えました。

    <?php
    if(term_exists('A')):
    	get_sidebar('1');
    elseif(term_exists('B')):
    	get_sidebar('2');
    else :
        get_sidebar('1');
    endif
    ?>

    といった感じで分岐を作成しましたが、
    どのページを見てもサイドバー1が表示されてしまいます。

    カテゴリーがBの時の詳細ページを見てもサイドバーが2にならずに
    サイドバー1が表示されてしまいます。

    分岐のやり方に問題ありますでしょうか?
    宜しくお願い致します。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • gblsm

    (@gblsm)

    投稿のカテゴリーを取得する関数は term_exists ではないですよ。関数 in_category の用例を調べてみるとよいのではないでしょうか。

    gblsm

    (@gblsm)

    普通のカテゴリーではなく、カスタムタクソノミーのタームが投稿に付いているか調べる場合は、関数 has_term の用例が参考になります。

    トピック投稿者 shintax

    (@shintax)

    大変ありがとうございました!!

    分岐表示できました。

    このようなところですよね。
    <?php has_term( $term, $taxonomy, $post ) ?>

    修正しなおしたところ切り替えできました。

    <?php
    if(has_term('A','$taxonomy')):
    	get_sidebar('1');
    elseif(has_term('B','$taxonomy')):
    	get_sidebar('2');
    else :
        get_sidebar('1');
    endif
    ?>

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「カスタム投稿のシングルページでサイドバーの表示を切り替えたい」には新たに返信することはできません。