acf_decode_term()


WordPress関数acf_decode_term()は、Advanced Custom Fieldsプラグインを使用して保存されたカスタムタクソノミータームを適切にデコードするための関数です。

構文

acf_decode_term( $term );
  • $term (mixed) — デコードするタームオブジェクトまたは配列。

例1: ターム情報をデコードして取得する

このコードは、タームオブジェクトをデコードし、名称を取得します。

<?php
$term = get_term_by( 'slug', 'example-term', 'category' );
$decoded_term = acf_decode_term( $term );
echo $decoded_term->name;
?>

例2: ACFフィールドを持つターム情報を取得

特定のタームのカスタムフィールドを取得する方法。

<?php
$term = get_term(  get_queried_object_id(), 'category' );
$decoded_term = acf_decode_term( $term );
echo get_field( 'custom_field_name', $decoded_term );
?>

例3: タームリストをデコードしてループ処理

タクソノミーの全タームをデコードし、リスト表示する。

<?php
$terms = get_terms( array( 'taxonomy' => 'category', 'hide_empty' => false ) );
foreach( $terms as $term ) {
    $decoded = acf_decode_term( $term );
    echo '<li>' . esc_html( $decoded->name ) . '</li>';
}
?>

例4: 投稿に関連付けられたタームのデコード

現在の投稿に関連付けられたカテゴリータームをデコード。

<?php
$terms = get_the_terms( get_the_ID(), 'category' );
if ( $terms && ! is_wp_error( $terms ) ) {
    foreach( $terms as $term ) {
        $decoded = acf_decode_term( $term );
        echo '<li>' . esc_html( $decoded->name ) . '</li>';
    }
}
?>

例5: タームのスラッグを取得

タームのスラッグを取得し、リンクを作成する。

<?php
$term = get_term( get_queried_object_id(), 'category' );
$decoded_term = acf_decode_term( $term );
echo '<a href="' . get_term_link( $decoded_term ) . '">' . esc_html( $decoded_term->slug ) . '</a>';
?>