acf_get_grouped_terms()


WordPressの関数acf_get_grouped_terms()は、ACF(Advanced Custom Fields)で設定されたカスタムタクソノミーのグループ化された用語を取得するために使用されます。

構文

acf_get_grouped_terms( string $taxonomy, array $args = array() );

引数の説明:

  • $taxonomy (string) — 取得するタクソノミーのスラッグ。
  • $args (array) — タクソノミーの用語を取得する際の追加引数。

例 1: 特定のタクソノミーのグループ化された用語を取得

以下のコードは、’category’タクソノミーに基づいてグループ化された用語を取得し、表示する方法です。

<?php
$terms = acf_get_grouped_terms( 'category' );
foreach ( $terms as $group => $group_terms ) {
    echo '<h3>' . $group . '</h3>';
    foreach ( $group_terms as $term ) {
        echo '<p>' . $term->name . '</p>';
    }
}
?>

例 2: 引数を使用して用語を絞り込む

特定のタクソノミー内で、特定の条件に一致する用語を取得するために引数を追加できます。

<?php
$args = array(
    'orderby' => 'name',
    'order' => 'ASC'
);
$terms = acf_get_grouped_terms( 'category', $args );
?>

例 3: タクソノミーの親用語でグループ化された用語を取得

親用語を基準にして、タクソノミー内の用語をグループ化して取得します。

<?php
$terms = acf_get_grouped_terms( 'category', array( 'parent' => 0 ) );
?>

例 4: 投稿に関連するタクソノミー用語を取得

現在の投稿に関連するタクソノミー用語を取得する方法です。

<?php
$terms = acf_get_grouped_terms( 'category', array( 'post_id' => get_the_ID() ) );
?>

例 5: 非表示の用語を除外して取得

公開されていない(非表示の)用語を除外して、タクソノミー用語を取得する方法です。

<?php
$terms = acf_get_grouped_terms( 'category', array( 'hide_empty' => true ) );
?>

注意点

  • $taxonomy引数には必ずACFで登録されたタクソノミーを指定してください。
  • $args引数はオプションであり、指定しなくても動作しますが、指定することでカスタマイズが可能です。
  • 取得された用語は、タクソノミーの親用語を基準にグループ化されます。
  • 非表示の用語を取得する場合は、'hide_empty' => falseを指定してください。