acf_add_local_fields()


WordPressの関数acf_add_local_fields()は、Advanced Custom Fields(ACF)プラグインを使用して、特定のポストタイプやタクソノミーにカスタムフィールドを追加するために使用されます。

構文

acf_add_local_fields( array $args );
  • $args (array) — 追加するフィールドの設定を含む連想配列。

例1: 投稿タイプにカスタムフィールドを追加

このコードは、特定の投稿タイプにカスタムフィールドを追加します。

acf_add_local_fields(array(
    'key' => 'group_1',
    'title' => 'カスタムフィールドグループ',
    'fields' => array(
        array(
            'key' => 'field_1',
            'label' => 'カスタムフィールド',
            'name' => 'custom_field',
            'type' => 'text',
        )
    ),
    'location' => array(
        array(
            array(
                'param' => 'post_type',
                'operator' => '==',
                'value' => 'post',
            ),
        ),
    ),
));

例2: タクソノミーにカスタムフィールドを追加

このコードは、特定のタクソノミーにカスタムフィールドを追加します。

acf_add_local_fields(array(
    'key' => 'group_2',
    'title' => 'タクソノミーフィールド',
    'fields' => array(
        array(
            'key' => 'field_2',
            'label' => 'タクソノミーフィールド',
            'name' => 'taxonomy_field',
            'type' => 'textarea',
        )
    ),
    'location' => array(
        array(
            array(
                'param' => 'taxonomy',
                'operator' => '==',
                'value' => 'category',
            ),
        ),
    ),
));

例3: ユーザーのプロフィールにフィールドを追加

このコードは、ユーザーのプロフィールページにカスタムフィールドを追加します。

acf_add_local_fields(array(
    'key' => 'group_3',
    'title' => 'ユーザーフィールド',
    'fields' => array(
        array(
            'key' => 'field_3',
            'label' => 'ユーザー情報',
            'name' => 'user_info',
            'type' => 'text',
        )
    ),
    'location' => array(
        array(
            array(
                'param' => 'user_form',
                'operator' => '==',
                'value' => 'all',
            ),
        ),
    ),
));

例4: 固定ページにカスタムフィールドを追加

このコードは、固定ページにカスタムフィールドを追加します。

acf_add_local_fields(array(
    'key' => 'group_4',
    'title' => '固定ページフィールド',
    'fields' => array(
        array(
            'key' => 'field_4',
            'label' => 'ページ専用フィールド',
            'name' => 'page_field',
            'type' => 'number',
        )
    ),
    'location' => array(
        array(
            array(
                'param' => 'post_type',
                'operator' => '==',
                'value' => 'page',
            ),
        ),
    ),
));

例5: 投稿にカスタムフィールドを追加(複数フィールド)

複数のフィールドを同時に投稿に追加する例です。

acf_add_local_fields(array(
    'key' => 'group_5',
    'title' => '複数フィールド',
    'fields' => array(
        array(
            'key' => 'field_5',
            'label' => 'フィールド1',
            'name' => 'field_1',
            'type' => 'text',
        ),
        array(
            'key' => 'field_6',
            'label' => 'フィールド2',
            'name' => 'field_2',
            'type' => 'textarea',
        )
    ),
    'location' => array(
        array(
            array(
                'param' => 'post_type',
                'operator' => '==',
                'value' => 'post',
            ),
        ),
    ),
));

注意事項

  • 引数の構造に注意してください。特に、'fields'にはフィールドの設定を含める必要があります。
  • フィールドのキー('key')はユニークである必要があります。