ターム一覧を取得する関数get_terms()の使い方【WordPress】

最終更新日:

公開日:2025-10-02

ページ内に広告が含まれています。
ターム一覧を取得する関数get_terms()の使い方【WordPress】

WordPressでターム一覧を取得するにはget_terms()関数を使用します。
よく、get_terms()get_the_terms()がこんがらがってしまいますが、get_terms()はタクソノミーのターム一覧を取得出来て、get_the_terms()は記事の属するタームを取得するものになります。
今回はタクソノミーのターム一覧を取得するget_terms()関数について解説していきます。

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

get_terms()関数について

冒頭でも記載しましたが、get_terms()関数は指定したタクソノミーのターム一覧を取得出来る関数となります。
get_the_terms()は記事が属するタームを取得するものになりますので間違えないようにしてください。

get_terms()関数の使い方

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

<?php $terms = get_terms($taxonomy, $args); ?>

$taxonomy」にはタームを取得したいタクソノミースラッグを、「$args」には戻り値の条件などを指定出来ます。「$terms」は配列で取得したターム一覧の情報を格納している変数となります。

タクソノミーの指定

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

<?php
    // タクソノミーが1つの場合
    $terms = get_terms('category');
    
    // タクソノミーが複数の場合1
    $terms = get_terms(array('category1','category2'));

    // タクソノミーが複数の場合2
    $taxonomies = array('category1','category2')
    $terms = get_terms($taxonomies);
?>

上記のように取得したいタクソノミーのスラッグを指定します。取得したタクソノミーが複数ある場合はarray()配列を使って複数指定します。
また、後述する戻り値の条件指定(「$args」)が無い場合は省略しても大丈夫です。

戻り値の条件指定

戻り値の条件と指定出来る内容はたくさんあるのですが、よく使用されるのが「hide_empty」かと思います。
get_terms()関数は、記事の無いタームは表示されないのがデフォルトになっているため、タームを全て取得したい場合は戻り値の条件指定として「hide_empty」の値に「0」または「false」を指定する必要があります。

<?php
    $args = array(
        'hide_empty' => false,
    );
    $terms = get_terms('category', $args);
?>

上記の「hide_empty」の他にも並び替えや除外なども出来ますので、必要の際は「WordPress 私的マニュアル」を参考にしてみてください。

get_terms()関数の戻り値

get_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_terms('category');
    foreach($terms as $term){
        echo '<a href="'.get_term_link($term->slug, 'category').'">'.$term->name.'</a>';
    }
?>

上記では、戻り値からタームスラッグとターム名を取得しています。
get_terms()関数で取得した内容は配列となっていますので、上記のようにforeachなどで配列ごとにループさせて出力する必要があります。
get_term_link()関数はタームのスラッグからタームのURLを取得する関数となります。
このように必要な戻り値を取得し出力する事が可能です。

さいごに

いかがでしたでしょうか。
今回は、ターム一覧を取得する関数get_terms()の使い方を解説しました。
WordPressではタームの一覧を取得し表示するといった事がよくありますので、覚えておいた方がいい内容となります。慣れないと分かり難いかとは思いますが、まずは使ってみてください。

おすすめ記事

当ブログ運営者 ヒデ

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

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

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

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

PAGE TOP