acf_decode_taxonomy_terms()


関数WordPressacf_decode_taxonomy_terms()は、ACF(Advanced Custom Fields)のカスタムタクソノミータームデータをデコードするために使用されます。この関数は特に、ACFで格納されたシリアライズされたデータを扱う場合に便利です。

構文

acf_decode_taxonomy_terms( string $value );
  • $value (string) — シリアライズされたタクソノミータームデータを含む文字列。

例 1: 投稿のカスタムフィールドからタクソノミータームを取得する

以下のコードは、投稿のカスタムフィールドに保存されたタクソノミータームをデコードします。

<?php
$field_value = get_field('custom_taxonomy_field', get_the_ID());
$decoded_terms = acf_decode_taxonomy_terms($field_value);
print_r($decoded_terms);
?>

例 2: タームスラッグをループ内で出力する

次のコードは、デコードされたタームデータからスラッグを取得して出力します。

<?php
$field_value = get_field('custom_taxonomy_field', get_the_ID());
$decoded_terms = acf_decode_taxonomy_terms($field_value);
foreach ( $decoded_terms as $term ) {
    echo $term['slug'] . '<br>';
}
?>

例 3: 特定のタームが含まれているかを確認する

このコードは、デコードされたタームに特定のタームが存在するかどうかを確認します。

<?php
$field_value = get_field('custom_taxonomy_field', get_the_ID());
$decoded_terms = acf_decode_taxonomy_terms($field_value);
if ( in_array('specific-term', wp_list_pluck($decoded_terms, 'slug') ) ) {
    echo '特定のタームが含まれています。';
}
?>

例 4: 投稿に関連付けられたターム名を表示する

次のコードは、デコードされたタームデータからターム名を取得して表示します。

<?php
$field_value = get_field('custom_taxonomy_field', get_the_ID());
$decoded_terms = acf_decode_taxonomy_terms($field_value);
foreach ( $decoded_terms as $term ) {
    echo $term['name'] . '<br>';
}
?>

例 5: デコードされたタームをJSON形式で返す

このコードは、タームデータをデコードし、JSON形式でエンコードして返します。

<?php
$field_value = get_field('custom_taxonomy_field', get_the_ID());
$decoded_terms = acf_decode_taxonomy_terms($field_value);
echo json_encode($decoded_terms);
?>

注意事項:

  • 関数acf_decode_taxonomy_terms()を使用する際は、get_field()で取得したデータがACFによってシリアライズされていることを確認してください。
  • デコードされたデータは配列形式で返されるため、適切な処理を行う必要があります。