acf_get_term()


WordPressの関数acf_get_term()は、Advanced Custom Fields (ACF) プラグインを使用して、指定したタームのカスタムフィールドの値を取得するために使用されます。

構文

acf_get_term( int $term_id, string $taxonomy, string $field_name );

引数の説明:

  • $term_id (int) — タームID。取得するタームのIDを指定します。
  • $taxonomy (string) — タクソノミー名。タームが所属するタクソノミーの名前を指定します。
  • $field_name (string) — 取得したいカスタムフィールドの名前を指定します。

例1:指定したタームのカスタムフィールド値を取得

このコードは、指定したタームID、タクソノミー名、およびフィールド名を使用してカスタムフィールドの値を取得します。

<?php
$term_value = acf_get_term( 123, 'category', 'my_custom_field' );
echo $term_value;
?>

例2:カスタムタクソノミーのタームからフィールド値を取得

以下のコードは、カスタムタクソノミー「genre」から「book_review」というカスタムフィールドの値を取得します。

<?php
$term_value = acf_get_term( get_the_ID(), 'genre', 'book_review' );
echo $term_value;
?>

例3:タームIDを動的に取得してカスタムフィールド値を取得

以下のコードは、現在の投稿に関連するタームIDを動的に取得し、そのカスタムフィールド値を表示します。

<?php
$term_id = get_term_by( 'slug', 'fiction', 'genre' )->term_id;
$term_value = acf_get_term( $term_id, 'genre', 'book_review' );
echo $term_value;
?>

例4:エラー処理を追加して値を取得

もしカスタムフィールドが存在しない場合に備えてエラーハンドリングを追加します。

<?php
$term_value = acf_get_term( 123, 'category', 'my_custom_field' );
if ( !empty($term_value) ) {
    echo $term_value;
} else {
    echo 'カスタムフィールドの値が見つかりません';
}
?>

例5:複数のタームのカスタムフィールド値を取得

このコードは、複数のタームIDを指定して、それぞれのカスタムフィールド値を取得します。

<?php
$term_ids = array(123, 456, 789);
foreach ($term_ids as $term_id) {
    $term_value = acf_get_term( $term_id, 'category', 'my_custom_field' );
    echo $term_value . '<br>';
}
?>

注意事項

  • カスタムフィールドが存在しない場合、関数は空の値を返す可能性があります。