サポート » 使い方全般 » ループ内でのカスタムタクソノミーのスラッグ取得

  • 解決済 wpfreaks

    (@wpfreaks)


    カスタム投稿を使用しカスタム分類で分類された投稿一覧を表示した場合についての質問です。

    例えば動物(カスタム投稿)に登録した投稿を全て一覧で表示したとして、その中のカスタム分類(犬、猫、鳥)ごとにスタイルを変更したいのですが、スタイルを変更するためにカスタムタク分類のスラッグを取得しようとしましたがうまく取得出来ません。
    色々と調べましたがどこにもなく途方にまよっています。
    ご教授いただければ幸いです。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • カスタム投稿で試したことはありませんが、タクソノミー動物の term が、各投稿に一つだけの設定であれば…

    <?php
    $term = array_shift(get_the_terms($post->ID, 'doubutsu'));
    if ( $term ) {
        echo esc_html($term->slug);
    }
    ?>
    //実行結果
    inu とか dog

    トピック投稿者 wpfreaks

    (@wpfreaks)

    ご返信遅れてすみません。
    こちらの方法で試しましたが、
    Warning: array_shift() [function.array-shift]: The argument should be an array in
    が表示されてしまいうまく取得が出来ないようです。
    やっぱりカスタム投稿って特殊なんですかね…。

    get_the_terms($post->ID, 'doubutsu')の記述が配列を返していないのでしょう。
    もともと配列でないのであれば

    $term = get_the_terms($post->ID, 'doubutsu');

    でもよいと思うのですけど。

    トピック投稿者 wpfreaks

    (@wpfreaks)

    色々とご教授ありがとうございます。
    おかげさまで無事希望通りの動作ができました。
    こうやって回答をしていただける方々がいらっしゃるのでまだまだ自分の勉強不足やお応用力のなさを痛感するところです。
    出来ただけで満足しないよう色々と勉強させていただきます。
    ありがとうございました!

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「ループ内でのカスタムタクソノミーのスラッグ取得」には新たに返信することはできません。