プラグインAdvanced custom fields(ACF)のacf_get_field_groups関数の使用方法・解説

概要

acf_get_field_groups 関数は、Advanced Custom Fields (ACF) プラグインの一部であり、WordPress でカスタムフィールドグループを取得するために使用されます。この関数は、特定の条件に基づいてフィールドグループのリストを取得するために非常に便利です。特に、カスタム投稿タイプやタクソノミーに関連するフィールドグループを表示する際などに使われます。

主な使い方

acf_get_field_groups 関数は次のような機能を実装する際によく使用されます。

  1. カスタム投稿タイプに関連するフィールドグループを取得する
  2. 特定のページや投稿に紐づくフィールドグループを表示する
  3. タクソノミーに関連付けられたフィールドグループを取得する
  4. 特定の条件に応じたフィールドグループをフィルタリングする
  5. テンプレートファイル内でフィールドグループを動的に取得する
  6. フロントエンドでのカスタマイズに際してフィールドグループを利用する

構文

acf_get_field_groups( $args );

パラメータ

  • $args (array): 取得したいフィールドグループの条件を指定するための配列。例には、post_idpage_templateなどが含まれる。

戻り値

  • 配列: 指定された条件に一致するフィールドグループの配列を返す。条件に一致するものがない場合は空の配列を返す。

対応バージョン

  • Advanced Custom Fields: 5.0 以降
  • WordPress: 4.0 以降

この関数のアクションでの使用可能性

アクション 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプル1: 全フィールドグループを取得する

$field_groups = acf_get_field_groups();
foreach ($field_groups as $group) {
    echo $group['title'];
}

このコードは、サイト内に存在するすべてのフィールドグループのタイトルを取得し、表示します。

サンプル2: 特定のカスタム投稿タイプに関連するフィールドグループを取得する

$field_groups = acf_get_field_groups(['post_type' => 'your_custom_post_type']);
foreach ($field_groups as $group) {
    echo $group['title'];
}

このコードは、指定したカスタム投稿タイプに関連するフィールドグループのみを取得し、タイトルを表示します。

サンプル3: 特定のページテンプレート用のフィールドグループを取得する

$field_groups = acf_get_field_groups(['page_template' => 'template-custom.php']);
foreach ($field_groups as $group) {
    echo $group['title'];
}

このコードは、特定のページテンプレートに関連するフィールドグループを取得してタイトルを表示します。

サンプル4: 投稿IDに紐づくフィールドグループを取得する

$field_groups = acf_get_field_groups(['post_id' => 123]);
foreach ($field_groups as $group) {
    echo $group['title'];
}

このコードは、指定した投稿IDに関連付けられたフィールドグループのみを取得し、タイトルを表示します。

サンプル5: タクソノミーに関連するフィールドグループを取得する

$field_groups = acf_get_field_groups(['taxonomy' => 'category']);
foreach ($field_groups as $group) {
    echo $group['title'];
}

このコードは、指定されたタクソノミー(この場合はカテゴリー)に関連するフィールドグループのタイトルを表示します。

以上のサンプルコードは、WordPressサイトにおけるACFフィールドグループの取得方法を示しています。

この関数について質問する


上の計算式の答えを入力してください