wp_get_post_terms()

wp_get_post_terms() 関数の概要

wp_get_post_terms()関数は、WordPressのデータベースから特定の投稿に関連付けられたターム(用語)を取得するための関数です。この関数を使用することで、指定した投稿IDに関連するターム情報を配列として取得することができます。カテゴリ、タグ、カスタムタクソノミーなど、さまざまなタームを取得する際に便利です。取得したターム情報には、タームID、名前、スラッグ、説明、親タームIDなどが含まれます。

パラメータの説明

wp_get_post_terms()関数には、以下のパラメータを設定することができます:

  • $post_id (int) – 必須: タームを取得する投稿のIDを指定します。例: 123
  • $taxonomy (string|array) – 必須: 取得したいタクソノミーの名前またはその配列を指定します。例: 'category' または array('category', 'post_tag')
  • $args (array|string) – オプション: タームの取得条件を指定するための配列またはクエリ文字列。以下のキーを含むことができます:
  • orderby (string): タームの並び替え基準を指定します。デフォルトは 'name'
  • order (string): 昇順(’ASC’)または降順(’DESC’)を指定します。デフォルトは 'ASC'
  • fields (string): 取得するフィールドを指定します。’all’(デフォルト)、’ids’、’names’などを指定できます。
  • exclude (array|int|string): 除外するタームのIDまたはスラッグ。
  • include (array|int|string): 含めるタームのIDまたはスラッグ。
  • number (int): 取得するタームの数を指定します。
  • offset (int): 取得を開始する位置を指定します。

戻り値

成功した場合、wp_get_post_terms()関数はタームオブジェクトの配列を返します。失敗した場合、空の配列またはWP_Errorオブジェクトが返されることがあります。

使用例

以下は、wp_get_post_terms()関数を使用して特定の投稿に関連付けられたカテゴリタームを取得し、表示する例です:

<?php
$post_id = 123; // タームを取得する投稿のID
$taxonomy = 'category'; // タクソノミーの名前

$terms = wp_get_post_terms($post_id, $taxonomy);

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 'タームの取得に失敗しました。';
}
?>

この例では、IDが123の投稿に関連付けられたカテゴリタームを取得し、それぞれのタームの詳細を表示しています。

エラーハンドリング

wp_get_post_terms()関数の実行に失敗した場合、WP_Errorオブジェクトが返されることがあります。エラーメッセージを取得するには、以下のようにします:

<?php
if (is_wp_error($terms)) {
    echo 'エラー: ' . $terms->get_error_message();
}
?>

関連する関数

  • get_the_terms(): 指定された投稿に関連付けられたターム情報を取得するための関数です。
  • wp_set_post_terms(): 指定された投稿に対してタームを設定するための関数です。
  • get_term(): 特定のターム情報を取得するための関数です。
  • get_terms(): 特定のタクソノミー内のターム一覧を取得するための関数です。
  • the_terms(): 指定された投稿に関連付けられたタームをリンク付きで表示するための関数です。