• 解決済 heppoko

    (@heppoko)


    loop-single.phpの中でパンくずリストをプラグインなしで作ろうと、
    まず、リンクなしでカテゴリ名を表示させるところから始めました。

    <?php
    if ($terms = get_the_terms($post->ID, 'sample01')) {
        foreach ( $terms as $term ) {
            echo esc_html($term->name);
        }
    }
    ?>

    調べてみると上記ソースで表示できると知りました。
    ここまではうまく表示できました。

    しかしこの後になって、sample02、sample03とタクソノミーが増えてしまいました。
    知識が乏しいのでまず浮かんだのが力技的に条件分岐しかないのかなと。
    でも上記ソースの前に、タクソノミーを代入できるソースを書くことができれば、
    そんなことをしなくてもいいのではないかと思ったのです。
    しかし答えが見つからず苦戦。

    くわえて、構造化するためには、aタグの中に「itemprop」など追記しないといけないものがたくさんあるのですが、

    <?php echo get_the_term_list($post->ID,'sample01'); ?>

    上記でリンク付にはできますがこの方法は使えないなと。
    ではどうやってそのリンクを引っ張ってくればいいのかも分からない状態に陥っています。

    特定のタクソノミーでないので、タクソノミーを代入するためのソースがあれば、これも解決できそうなのですが…
    素人丸出しの質問で恐縮なのですが、ご教授いただければ幸いです。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • ghvst

    (@ghvst)

    heppokoさん、コメントが付かないですね。どのように表示したい等をもう少し具体的に書いて頂けると、コメントしやすいのではないかと思います。

    でも上記ソースの前に、タクソノミーを代入できるソースを書くことができれば、
    そんなことをしなくてもいいのではないかと思ったのです。

    「タクソノミーの一覧」を取得する関数があります。日本語Codexにはありませんが英語の方の下記ページです。
    http://codex.wordpress.org/Function_Reference/get_taxonomies
    そこにサンプルが載っていて、次のように実行するとタクソノミーの名前を配列で取り出せるそうです。

    <?php
    $taxonomies = get_taxonomies( '', 'names' );
    foreach ($taxonomies as $taxonomy ) {
      echo '<p>' . $taxonomy . '</p>';
    }
    ?>

    上記のforeachループの中で
    $terms = get_the_terms( $post->ID, $taxonomy );
    のようにすれば、タクソノミーの名前を代入したことになると思います。

    トピック投稿者 heppoko

    (@heppoko)

    ghvst様
    回答ありがとうございました。
    質問の仕方に問題があったのかということを痛感いたしました。
    Wordpressのことを知らないことが多すぎるため、うまく言葉にできないところもありました。
    しかしそれでも教えていただくのであれば、何とかせねばと思います。

    上記記事参考に、力技的なソースを書き換えることができました。
    重ね重ねありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「複数のタクソノミーがある場合のタームタイトル表示について」には新たに返信することはできません。