インソースマーケティングデザイン
2017.06.20 システム
get_term()とget_terms()って何が違うの?
マリンロードスタッフブログをご覧いただいている皆様、こんにちは。
フロントエンドエンジニアの虎澤です。
最近wordpress関連でPHPをがしがし書く機会が多くなりました。
カスタム投稿タイプを使って組み込んでいくことも多いのですが、タームを取得するテンプレートタグは多種多様で使い分けるのが難しいです。
今回は備忘録も兼ねて、タクソノミーやターム関連のテンプレートタグをご紹介します!
タームID($term)から、そのタームに関する情報を取得するテンプレートタグ
②get_terms($taxonomies, $args)
タクソノミー($taxonomies)から、それに含まれるタームデータを$argsで指定したオプションに従って取得するテンプレートタグ
③get_the_terms($post_id, $taxonomy)
投稿($post_id)に割り当てられたタクソノミーのターム情報を取得するテンプレートタグ。
特によく使う(使った)のがこの3種類でしょうか…。
①と②に関して言えば、sが入ってるか入っていないかの違いという実に分かりにくいものです。「あれ、どっちがどっちだっけ?」状態によくなります。
③はタームIDではなく投稿IDを指定しなければちゃんと動いてくれません。ややこしいですね。
他にも、タームIDから該当ページのリンクを取得するタグだったり、子タームの情報を取得するタグだったり、ほんと様々にあります。
それぞれのタグが大雑把に何が違うかだけでも把握しておいて、少しでも作業がスムーズに進められるようになるといいですね。
以上、虎澤でした。