サポート » 使い方全般 » 投稿が属するカテゴリ名かタクソノミー名を表示する

  • 解決済 nyan2taro2

    (@nyan2taro2)


    標題の件、いろいろと調べましたがわからなく、どなたか教えて下さい。

    検索結果の一覧表示画面で、該当結果の一覧表示をしています。

    その時に、その投稿が属するカテゴリ名かタクソノミー名を表示するようにしたいです。

    「投稿が属するカテゴリ名」は表示させることができますが、タクソノミー名の場合、その部分が空欄になってしまいます。

    この場合、どうすればよいでしょうか?

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • タクソノミー名とはタグのことでしょうか?それともカスタムタクソノミーでしょうか?
    どちらにしろ、get_the_termsを使えば取得できます。

    get_the_terms
    http://elearn.jp/wpman/function/get_the_terms.html

    トピック投稿者 nyan2taro2

    (@nyan2taro2)

    mel_cha様

    すいません、ご回答いただいていたことに気が付きませんでした。

    現在、通常の投稿とカスタム投稿タイプ&カスタムタクソノミー(カテゴリ)を使っています。
    検索結果の一覧に通常の投稿とカスタム投稿の両方が表示されます。
    どちらも、その投稿が属するカテゴリまたはカスタムタクソノミーを表示させたいです。

    get_the_termsも試しましたが、このタグですとカスタムタクソノミーしか表示されなくはないでしょうか?

    それとも通常の投稿のカテゴリも表示させることができますでしょうか?

    すいませんがよろしくお願いいたします。

    >通常の投稿のカテゴリも表示させることができますでしょうか?
    できます。

    if (get_post_type()=='post') :
        $terms = get_the_terms( $post->ID, 'category');
    else :
        $terms = get_the_terms( $post->ID, 'custom_taxonomy');
    endif;

    トピック投稿者 nyan2taro2

    (@nyan2taro2)

    pluto1234様

    早速のご回答ありがとうございました。
    試してみました。

    そこでもう一つ教えて下さい。
    $terms に入れたデータ(カテゴリ名orタクソノミー名)を表示させる方法です。

    http://elearn.jp/wpman/function/get_the_terms.html
    コチラを参考に次のようにしましたが上手く行きません。

    <?php echo $terms->name; ?>

    すいませんがよろしくお願いいたします。

    $terms は配列なので、ループを回しながら表示してください。
    参考:
    http://codex.wordpress.org/Function_Reference/get_the_terms

    トピック投稿者 nyan2taro2

    (@nyan2taro2)

    pluto1234様

    ありがとうございます。

    categoryの方は無事表示できました。

    しかしタクソノミーの方が表示されません。
    もしかして、教えていただいた
    $terms = get_the_terms( $post->ID, 'custom_taxonomy');
    のcustom_taxonomyの部分は、自分のタクソノミー名に変更しないとダメでしょうか?

    *そうすると、タクソノミーが複数ある場合の取得が難しくなります…。

    もう一つリンクに関しても教えてください。
    get_the_termsだとURLの情報が取れないので、同じように条件分岐の中で
    get_category_link、get_term_linkで取得するという考えでよいでしょうか?

    すいませんがよろしくお願いいたします。

    >custom_taxonomyの部分は、自分のタクソノミー名に変更しないとダメでしょうか?
    そうです。

    >get_the_termsだとURLの情報が取れない
    id や slug が取れるので、それを get_term_link の引数に指定すればリンクが作れます。

    >そうすると、タクソノミーが複数ある場合の取得が難しくなります…。
    タクソノミーが二つなら(タームが二つということではありません)

    $terms1 = get_the_terms( $post->ID, 'custom_taxonomy1');
    $terms2 = get_the_terms( $post->ID, 'custom_taxonomy2');

    として同じことをやればいいだけです。

    >get_category_link、get_term_linkで取得するという考えでよいでしょうか?
    これらの関数でOKです。

    ただ、リンクも付けるなら全部 the_terms() を使ったほうがずっと簡単です。

    トピック投稿者 nyan2taro2

    (@nyan2taro2)

    pluto1234様

    いろいろありがとうございました。
    無事表示できました。

    >ただ、リンクも付けるなら全部 the_terms() を使ったほうがずっと簡単です。

    そうなのですね。
    今回使わずにやりましたので、また勉強したいと思います。

    また教えていただいたことをしっかり自分のものにしたいと思います。

    では今後ともよろしくお願いいたします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「投稿が属するカテゴリ名かタクソノミー名を表示する」には新たに返信することはできません。