記事(投稿)に属するタームを取得するget_the_terms()関数の使い方【WordPress】

最終更新日:

公開日:2025-10-22

ページ内に広告が含まれています。
記事(投稿)に属するタームを取得するget_the_terms()関数の使い方【WordPress】

先日、ターム一覧を取得する関数get_terms()の使い方【WordPress】で、タームの一覧を取得するget_terms()関数の解説をしましたが、今回は記事(投稿)に属する(紐づいた)タームを取得する事が出来るget_the_terms()関数について詳しく解説していきます。

※本記事ではWordpress6.8.2使用しています。ご利用の環境により仕様が異なる場合があります。

get_the_terms()関数について

get_the_terms()関数は記事(投稿)に属するタームを取得する事が出来る関数となります。
get_terms関数()と違って使用する機会はそこまで多くはありませんが、記事ページ等で設定されているタームを表示する際などに使用されるのが多いかと思います。

ターム一覧を取得するget_terms()関数についてはターム一覧を取得する関数get_terms()の使い方【WordPress】をご覧ください。

get_the_terms()関数の使い方

get_the_terms()関数の使い方は以下のようになります。

<?php $terms = get_the_terms($post_ID, $taxonomy); ?>

$post_ID」には記事(投稿)のIDを指定し、「$taxonomy」にはタームを取得したいタクソノミースラッグを指定します。また、「$terms」は配列で取得したタームの情報を格納している変数となります。

記事(投稿)IDの指定

記事(投稿)IDは記事詳細ページや他テーマファイルのループ内で、「$post->ID」や「get_the_ID()」を使用すると取得可能です。

<?php $terms = get_the_terms($post->ID, $taxonomy); ?>

タクソノミーの指定

以下は、get_the_terms()関数へのタクソノミーの指定例となります。

<?php $terms = get_the_terms($post->ID, 'category'); ?>

タクソノミーの複数指定は配列にすると出来るのですが、私の環境ではwp-includesディレクトリ内の複数ファイルにて警告(Array to string conversion)が出てしまいました。警告の内容としては、配列を文字列として扱おうとした際にでる内容です。Wordpressのバグなのか私の環境が原因なのか不明だったため、今回複数タクソノミー指定については解説いたしません。

get_the_terms()関数の戻り値

get_the_terms()関数の戻り値は、以下の内容がタームの数だけ配列で返ってきます。

プロパティ名 内容
term_id int型
タームのID
name string型
タームの名前
slug string型
タームのスラッグ
term_group int型
タームのグループID
term_taxonomy_id int型
タクソノミーのID
taxonomy string型
タクソノミーのスラッグ
description string型
タクソノミーの説明
parent int型
親タームID、親タームが無い場合は「0」
count int型
タームに属する記事数
filter string型
WP_termの内部プロパティでタームオブジェクトの値をどのようにフィルタリングするかを示す(「raw」は生データ(加工なし))

この戻り値を出力するには以下のような形で記述すると出力出来ます。

<?php
    $terms = get_the_terms($post->ID, 'category');
    foreach($terms as $term){
        echo $term->term_id; // タームのID
        echo $term->name; // タームの名前
        echo $term->slug; // タームのスラッグ
    }
?>

get_the_terms()関数で取得した内容は配列となっていますので、上記のようにforeachなどで配列ごとにループさせて出力する必要があります。

さいごに

いかがでしたでしょうか。
今回は、記事(投稿)に属するタームを取得するget_the_terms()関数の使い方を解説しました。
get_terms()関数と今回のget_the_terms()関数は用途が違うものとなりますので、間違わないようにしてください。

おすすめ記事

当ブログ運営者 ヒデ

北海道札幌市在住のフリーランスでWeb制作を行っているヒデです。Webコーディング(HTML・CSS・JSなど)やWordpressのカスタマイズ等のテクニック、困った時に確認できる分かりやすい解説を目標にして情報を発信していければと思っています。プロフィールはこちら

当サイトに関するご意見・ご感想・ご要望または仕事のご依頼は以下のフォームよりお願い致します。

お問い合わせ お仕事のご依頼

各SNSのフォローはこちらから

PAGE TOP