get_terms()

get_terms() 関数の概要

get_terms()関数は、WordPressのデータベースから指定されたタクソノミー(分類)に基づいてターム(用語)を取得するための関数です。この関数を使用することで、カテゴリ、タグ、カスタム分類などのターム情報を配列として取得することができます。取得したターム情報には、タームID、名前、スラッグ、説明、親タームIDなどが含まれます。特定の条件に基づいてタームをフィルタリングしたり、カスタムタクソノミーを扱ったりする際に便利です。

パラメータの説明

get_terms()関数には、複数のオプションパラメータを設定することができます。主なパラメータは以下の通りです:

  • $taxonomy (string|array) – 必須: 取得したいタクソノミーの名前を指定します。文字列または文字列の配列を指定できます。
  • $args (array|string) – オプション: タームの取得条件を指定するための配列またはクエリ文字列。主な引数は以下の通りです:
  • orderby (string): タームの並び替え基準を指定します。’name’、’count’、’slug’、’term_group’、’term_order’、’none’などを指定できます。デフォルトは ‘name’ です。
  • order (string): 昇順(’ASC’)または降順(’DESC’)を指定します。デフォルトは ‘ASC’ です。
  • hide_empty (bool|int): 投稿が含まれていない空のタームを非表示にするかどうかを指定します。デフォルトは true です。
  • include (array): 特定のタームIDを含めるリストを指定します。
  • exclude (array): 特定のタームIDを除外するリストを指定します。
  • parent (int): 親タームIDを指定します。指定された親タームの子タームのみを取得します。
  • child_of (int): 特定のタームIDの子孫タームを取得します。
  • number (int): 取得するタームの数を指定します。
  • fields (string): 取得するフィールドを指定します。’all’(デフォルト)、’ids’、’names’、’count’、’id=>parent’などを指定できます。

使用例

以下は、get_terms()関数を使用して特定のタクソノミーのタームを取得し、表示する例です:

<?php
$args = array(
    'orderby'    => 'name',
    'order'      => 'ASC',
    'hide_empty' => false
);

$terms = get_terms('category', $args);

if (!empty($terms) && !is_wp_error($terms)) {
    foreach ($terms as $term) {
        echo 'ターム名: ' . $term->name . '<br>';
        echo 'タームスラッグ: ' . $term->slug . '<br>';
        echo 'ターム説明: ' . $term->description . '<br>';
        echo '親タームID: ' . $term->parent . '<br>';
        echo '投稿数: ' . $term->count . '<br><br>';
    }
} else {
    echo 'タームの取得に失敗しました。';
}
?>

この例では、’category’というタクソノミーからすべてのタームを取得し、それぞれのタームの詳細を表示しています。

関連する関数

  • get_term(): 特定のターム情報を取得するための関数です。
  • get_the_terms(): 投稿に関連付けられたターム情報を取得するための関数です。
  • wp_get_post_terms(): 投稿に関連付けられたタームを取得するための関数です。
  • the_terms(): 投稿に関連付けられたタームをリンク付きで表示するための関数です。