こんにちは、福岡ホームページ制作シンス株式会社のWordPressが好きなちゃんけいです。
WordPressを使ったホームページ制作で、「投稿のターム情報を取得したいなぁ」という時がよくあるかと思います。
今回は、私が制作中に使っている関数をまとめました。
目次
投稿のターム情報:get_the_terms()
投稿のターム情報を取得するにはget_the_termsを使います。
必要な引数は、投稿IDと取得したいタームのタクソノミー名だけ、ループの内外で使えるので使いやすくてとっても簡単ですね!
1 2 3 | <?php $post_terms = get_the_terms( '記事のID', 'タクソノミー名' ) ?> |
取得したターム情報は配列で返ってきますが、タームがついていない場合はfalseになるのでif文を使って中身の判定をしましょう。
1 2 | if( !empty( $post_terms ) ){ } |
お気づきの方も多いかと思いますが、get_the_categoryも似たような書き方をしますね。
WPコアファイルのcategory-template.phpの76行目にある、get_the_categoryが定義されているところを見てみると….
1 2 3 | 省略 $categories = get_the_terms( $id, 'category' ); 省略 |
get_the_categoryを呼び出しても、結局はget_the_termsが使われています。
なので、個人的にはget_the_termsしか使っていません。
参考サイト:関数リファレンス/get the terms
ターム一覧表示:get_terms()
指定したタクソノミーの持つタームを全て取得し、一覧表示する場合はget_termsを使います。
第二引数で取得するものや、並び順等を指定できます。
1 2 3 4 5 6 | <?php $my_terms = get_terms('タクソノミー名', オプションの配列); foreach( $my_terms as $term ){ echo 'ターム名:'.$term->name.; } ?> |
投稿の無いタームは取得しません。
もし取得したい場合は、オプションでhide_emptyをfalseにして使ってください。
参考サイト:関数リファレンス/get terms
taxonomy.phpで現在表示中のターム情報を取得:get_queried_object()
get_queried_objectは現在クエリ中のオブジェクト取得できます。
オブジェクトが戻ってくるので、中身を確認して使ってみてください。
1 2 3 4 | <?php $my_terms = get_queried_object(); echo 'ターム名:'.$my_terms->name; ?> |
get_queried_objectは使うテンプレートによって取得する内容が異なるので、その点を理解して使ってみてください。
参考サイト:関数リファレンス/get queried object
まとめ
カテゴリーやタグ、カスタムタクソノミー多くの専門用語があり初めてWordPressを触ってから少し混乱してしまうかもしれません。
そんな時は、1つ1つの言葉の意味を理解し、公式リファレンスのソースファイルの場所からコアファイルを確認してみてください。
本質を追求したSEOノウハウによって集客やお問い合わせアップにつながるホームページ制作をいたします。













