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()
: 指定された投稿に関連付けられたタームをリンク付きで表示するための関数です。